Добавление стиля и удаление стиля для виджета в gwt - PullRequest
3 голосов
/ 29 июня 2010

Я написал виджет так:

public class GroupLbl extends Composite implements ClickHandler, MouseOutHandler {
private Label lbl;
private GroupLblHandler lblHandler = null;
private HorizontalPanel hp;

public void onClick(ClickEvent event) {
    hp.setStyleName("background-GroupLbl");

    if (event.getSource().equals(folder) || event.getSource().equals(lbl)) {

     lblHandler.onGroupLabelSelect(this);
 }
}

public GroupLbl(String title, GroupLblHandler handler) {

    hp.add(lbl);
    lblHandler = handler;
    if (handler != null) {
        lbl.addClickHandler(this);

    }
    initWidget(hp);
}


@Override
public Widget getWidget() {
    return hp;
}



public void onMouseOut(MouseOutEvent event) {
    hp.removeStyleName("background-GroupLbl");
}

} Я использую этот виджет в своей форме, когда пользователь нажимает на один из виджетов INSTANCE, ему должно быть присвоено имя стилена, а когда пользователь нажимает на другое, ему должно присваиваться стилевое имя, и первым должен удалить имя стиля, который я реализовал mouseouthandler, но это не работает, стиль устанавливает bgcolor на hp, чтобы пользователь понимал, какую группу он выбрал. Что мне делать (это часть моего кода)? tnx и извините за мой плохой английский !!!

1 Ответ

4 голосов
/ 29 июня 2010

Определите дополнительный стиль CSS с суффиксом -background с цветом bg, который вы хотите иметь. Вместо setStyleName используйте addStyleDependentName( "background" ) вместе с removeStyleDependentName( "background" ) для добавления / удаления стиля фона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...