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

时间:2010-06-29 07:19:39

标签: 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("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");
}

} 我在我的表单中使用这个小部件,当用户点击其中一个小部件时,应该为此分配样式名称,当用户点击其他时,应该为其分配样式名称,并且第一个shoud删除样式名称我实现了mouseouthandler但是它不起作用,样式将bgcolor设置为hp,以便用户了解他/她选择了哪个grouplbl。我应该做什么(这是我的代码的一部分)? tnx,请原谅我的英语不好!!!

1 个答案:

答案 0 :(得分:4)

使用您希望拥有的bg颜色定义带有后缀-background的其他CSS样式。 而不是setStyleName使用addStyleDependentName( "background" )removeStyleDependentName( "background" )来添加/删除-background样式。

相关问题