SmartGWT:从CSS应用样式

时间:2012-12-14 09:17:49

标签: css smartgwt

我有一个IButton实例,我想在点击后更改其名称和颜色。

       button.addClickHandler(new ClickHandler() {  
            public void onClick(ClickEvent event) {  
                if(button.getTitle().equals("Enabled")) {
                    button.setTitle("Disabled");
                    button.setTitleStyle("disabledButton");
                }
                else {
                    button.setTitle("Enabled");
                    button.setTitleStyle("enabledButton");
                }                   
            }
       });

正如我们在一般GWT项目中所做的那样, 我已将以下内容添加到默认的.css文件中:

.enabledButton {
  color:green;
}

.disabledButton {
  color:red;
}

但是当我运行应用程序时,它没有显示红色或绿色。

SmartGWT中还有其他方法可以应用CSS样式吗?

1 个答案:

答案 0 :(得分:3)

IButton是一个StatefulCanvas,意味着它处理状态。这是通过在基本样式名称后添加后缀来完成的。例如,如果将titleStyle设置为“enableButton”并将鼠标移到按钮上,它将查找css类:enableButtonOver。如果按钮也是聚焦的,它将寻找enableButtonFocusedOver等(有几个后缀组合)。如果您从浏览器中单击外部,您的示例将起作用,因此它将失去焦点,并且只会使用enableButton css类。您可以通过例如setShowFocused(false)禁用每个状态。请参阅api