Я написал виджет так:
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 и извините за мой плохой английский !!!