向gwt中的小部件添加样式和删除样式

向gwt中的小部件添加样式和删除样式,gwt,Gwt,我写了这样一个小部件: 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("bac

我写了这样一个小部件:

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");
}
}
我以我的形式使用这个小部件,当用户单击小部件的一个实例时,样式名应该分配给它,当用户单击另一个实例时,样式名应该分配给它,第一个应该删除我实现的mouseouthandler的样式名,但它不起作用,样式将bgcolor设置为hp,以便用户了解他/她选择了哪个组。我该怎么做(这是我代码的一部分)?请原谅我英语不好

定义一个附加的CSS样式,后缀为
-background
,带有您想要的背景颜色。 使用
addStyleDependentName(“背景”)
以及
removeStyleDependentName(“背景”)
来添加/删除背景样式,而不是
setStyleName