РЕДАКТИРОВАТЬ: Простите, если это не было ясно, мне нужно решение «ваадин» < /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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение