我有一个 GWT TextButton
。以下应用于全局 css 文件的 css 样式不执行任何操作:
.gwt-TextButton {
color: red !important;
}
为什么?更改所有 TextButton 小部件样式的正确样式是什么?
TextButton
是一个单元格支持的小部件,基于外观模式。它使用 aTextButtonCell
来呈现内容并使用CellWidget<T>
.
您正在寻找的全局 css 是,gwt-ButtonCellBase
但它被混淆了,因为在 a 中使用ClientBundle
,所以您需要扩展ButtonCellBase.DefaultAppearance.Resources
,提供您自己的Style
. 就像任何其他基于单元格的小部件一样。然后你需要使用正确的构造函数(TextButton(Appearance appearance, String text)
)。示例代码如下。
定义资源外观扩展(为了清楚起见,完全引用):
public interface MyResources extends ButtonCellBase.DefaultAppearance.Resources {
@Override
@Source(value = {ButtonCellBase.DefaultAppearance.Style.DEFAULT_CSS, "custom.css"})
ButtonCellBase.DefaultAppearance.Style buttonCellBaseStyle();
}
在里面custom.css
,覆盖任何你想要的ButtonCellBase.css
,然后注入所有东西:
MyResources customResources = GWT.create(MyResources.class);
TextButtonCell.Appearance customAppearance = new TextButtonCell.DefaultAppearance(customResources);
TextButton button = new TextButton(customAppearance, "Text");
您可以一次很好地完成上述所有操作,并且始终实例化TextButton
具有相同外观的任何新的。