我已经使用ThemeBuilder创建了一个主题,但现在我需要在CSS类中添加一个属性,以便在ListView的选定元素中使用不同的字体颜色。
理想情况下,我希望构建器支持在.theme文件中指定这样的配置,特别是因为字体颜色不会影响用于支持较旧浏览器的图像生成过程。事实上,构建器应该支持所有不影响生成图像的标准CSS3属性。
显然,可以修改ThemeBuilder jar来实现这一点,但这不是一个好主意。
我查看了生成的外观类,第一次尝试使用以下构造函数:
public Css3ContentPanelAppearance(Css3ContentPanelResources resources) {
this(resources, GWT.<Css3ContentPanelTemplate> create(Css3ContentPanelTemplate.class));
}
这并不奏效,因为无论使用了哪种Css3ContentPanelResources,所有使用Css3CentPanelAppearance的组件都会受到影响。我相信这是因为CSS类名基于外观类名和CssResource类名。
1条答案
按热度按时间cfh9epnr1#
解决方案非常简单:创建生成的外观类的子类,如下所示:
然后,您可以根据生成的主题创建单独的JAR模块,在.gwt中指定一些绑定。xml文件,它的行为与普通生成的主题完全相同(只需添加依赖项并将其导入application.gwt.xml文件):