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