РЕДАКТИРОВАТЬ: Простите, если это не было ясно, мне нужно решение «ваадин» < /p>
Очевидно, это должно быть очень интуитивно, но я не могу заставить его работать, когда кнопка нажимается, я должен изменить его стиль, если нажать снова, вернуть стиль обратно на то, что было. Я предполагаю: < /p>
@Override
public void buttonClick(ClickEvent event) {
Button b = event.getButton();
if (b == my_special_button){
if(!b.getStyleName().contains("x")){
b.addStyleName("x");
} else {
b.removeStyleName("x");
}
}
}
< /code>
При использовании Chrome Inspector я вижу добавленную активную класс, но кнопка исчезает. Если я нажимаю по позиции, где была кнопка, я вижу удаленную класс «активного» (и добавлено, если нажимать снова ..). Кнопка повторно приобретает только тогда, когда я нажимаю за пределами области, была кнопка. Класс: < /p>
v-button v-button-thumbs-up-button thumbs-up-button
< /code>
Когда я нажимаю, с Chrome Inspector Я вижу, что класс активна добавлен: < /p>
v-button v-button-thumbs-up-button thumbs-up-button v-button-active active
< /code>
Если я нажму снова, он удален. Таким образом, по-видимому, код OnClick выполняется правильно. Неактивный стиль работает нормально, поэтому CSS загружается страницей..thumbs-up-button{
background-image: url("../covercliptheme/img/thumbs_up_1x.png");
background-position: left top;
}
.thumbs-up-button .v-button-active .active{
background-image: url("../covercliptheme/img/thumbs_up_1x_green.png");
background-position: left top;
}
< /code>
Я нашел обходной путь с стилем: Active и: Focus тоже. Это работает, но нет никакой реальной причины, почему это должно. Это должно работать, как я изначально предполагал, я думаю, добавив класс, кнопка отображается в этом стиле, удаляя класс, стиль восходит к оригинальному стилю. Кнопка представлена следующим классом: < /p>
public class CVRow extends CustomComponent implements Button.ClickListener{
@AutoGenerated
private AbsoluteLayout mainLayout;
@AutoGenerated
private HorizontalLayout horizontalLayout_1;
@AutoGenerated
private AbsoluteLayout absoluteLayout_2;
@AutoGenerated
private Button nativeButton_2;
@AutoGenerated
private Button nativeButton_1;
/**
* The constructor
*/
public CVRow() {
buildMainLayout();
setCompositionRoot(mainLayout);
nativeButton_1.addListener(this);
// TODO add user code here
}
@AutoGenerated
private AbsoluteLayout buildMainLayout() {
/* some layout code.. */
// add horizontalLayout_1
horizontalLayout_1 = buildHorizontalLayout_1();
mainLayout.addComponent(horizontalLayout_1, "top:0.0px;left:0.0px;");
return mainLayout;
}
@AutoGenerated
private HorizontalLayout buildHorizontalLayout_1() {
// some layout code... //
// add absoluteLayout_2
Подробнее здесь: https://stackoverflow.com/questions/182 ... fter-click
Ваадинский кнопку «Изменить кнопку» стиль после нажатия ⇐ CSS
Разбираемся в CSS
1756616930
Гость
РЕДАКТИРОВАТЬ: Простите, если это не было ясно, мне нужно решение «ваадин» < /p>
Очевидно, это должно быть очень интуитивно, но я не могу заставить его работать, когда кнопка нажимается, я должен изменить его стиль, если нажать снова, вернуть стиль обратно на то, что было. Я предполагаю: < /p>
@Override
public void buttonClick(ClickEvent event) {
Button b = event.getButton();
if (b == my_special_button){
if(!b.getStyleName().contains("x")){
b.addStyleName("x");
} else {
b.removeStyleName("x");
}
}
}
< /code>
При использовании Chrome Inspector я вижу добавленную активную класс, но кнопка исчезает. Если я нажимаю по позиции, где была кнопка, я вижу удаленную класс «активного» (и добавлено, если нажимать снова ..). Кнопка повторно приобретает только тогда, когда я нажимаю за пределами области, была кнопка. Класс: < /p>
v-button v-button-thumbs-up-button thumbs-up-button
< /code>
Когда я нажимаю, с Chrome Inspector Я вижу, что класс активна добавлен: < /p>
v-button v-button-thumbs-up-button thumbs-up-button v-button-active active
< /code>
Если я нажму снова, он удален. Таким образом, по-видимому, код OnClick выполняется правильно. Неактивный стиль работает нормально, поэтому CSS загружается страницей..thumbs-up-button{
background-image: url("../covercliptheme/img/thumbs_up_1x.png");
background-position: left top;
}
.thumbs-up-button .v-button-active .active{
background-image: url("../covercliptheme/img/thumbs_up_1x_green.png");
background-position: left top;
}
< /code>
Я нашел обходной путь с стилем: Active и: Focus тоже. Это работает, но нет никакой реальной причины, почему это должно. Это должно работать, как я изначально предполагал, я думаю, добавив класс, кнопка отображается в этом стиле, удаляя класс, стиль восходит к оригинальному стилю. Кнопка представлена следующим классом: < /p>
public class CVRow extends CustomComponent implements Button.ClickListener{
@AutoGenerated
private AbsoluteLayout mainLayout;
@AutoGenerated
private HorizontalLayout horizontalLayout_1;
@AutoGenerated
private AbsoluteLayout absoluteLayout_2;
@AutoGenerated
private Button nativeButton_2;
@AutoGenerated
private Button nativeButton_1;
/**
* The constructor
*/
public CVRow() {
buildMainLayout();
setCompositionRoot(mainLayout);
nativeButton_1.addListener(this);
// TODO add user code here
}
@AutoGenerated
private AbsoluteLayout buildMainLayout() {
/* some layout code.. */
// add horizontalLayout_1
horizontalLayout_1 = buildHorizontalLayout_1();
mainLayout.addComponent(horizontalLayout_1, "top:0.0px;left:0.0px;");
return mainLayout;
}
@AutoGenerated
private HorizontalLayout buildHorizontalLayout_1() {
// some layout code... //
// add absoluteLayout_2
Подробнее здесь: [url]https://stackoverflow.com/questions/18284016/vaadin-change-button-style-after-click[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия