java - 在库中设置 GWT 小部件样式的最佳方式

标签 java css gwt widget

我正在将一些小部件开发成一个库,供我工作的公司内部使用。

我不知道为小部件设置样式的推荐方法是什么。

至少有这些方法:

  • 使用 Widget.setPrimaryStyleName 并让用户提供外部 CSS。我们使用 Maven 原型(prototype)来构建应用程序,因此我们可以提供默认样式。反正我不是很喜欢。

  • 使用 GWT 2.0 CssResourceBundle。所以我们可以将 CSS 编译到模块中并进行优化(并且它也可以依赖于浏览器)。

  • 提供具有样式的模块。类似于默认的 GWT 主题。但我不知道这到底是如何工作的。

我想:

  • 尽可能使组件具有内聚性(不要依赖外部包含的 CSS)
  • 为修改样式敞开大门(如果我想更改某些小部件在具体应用程序中的外观)。

您在这方面的经验如何?

注意:如果您正在寻找明确的答案,请查看所有答案和评论。有不同的想法和所有好的想法。然后选择最适合你的:)

最佳答案

我认为最好的方法是在模块中提供样式。通过这种方式,您将能够轻松地重新设置样式或为您的控件添加“主题”。

我正在做一个类似的元素,该元素托管在 github ( http://github.com/markovuksanovic/gwt-styles ) 上,所以您可能想检查一下。您可以下载 jar 文件,将其包含在您的元素中,并在您的模块 xml 中指定您想要使用该样式.. 之类的

<inherits name='gwt.theme.flick.Flick'/>

我建议您为您的样式使用新模块,以便您可以轻松地在样式之间切换...(只需更改 inherits 标签)。因此,例如,如果您的一个小部件使用 css 类“my-widget”,您将拥有一个“样式”模块(或多个模块)来定义该 css 类(在 css 文件中)——这样您就可以拥有实现该 css 类并在它们之间切换的多个模块就像更改 inherits 标记中的模块名称一样简单。这样你就可以很好地解耦代码——样式将独立于小部件的技术实现。如果您还有其他问题,请随时提问。

附言我忘了在上面提到 - 请密切注意样式模块的构建方式 (build.xml),这有点棘手。您可以在以下链接中找到有关创建模块的更多信息 http://developerlife.com/tutorials/?p=229

关于java - 在库中设置 GWT 小部件样式的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2728739/

相关文章:

java - 使用环回进行测试环境

Java:从另一个线程停止一个线程中的所有 Activity

java - GET:字符串比较不起作用

java - 如何使用 Java Swing 将选项卡拖到新窗口中?

java - 如何在android中将图像拉伸(stretch)到顶部

html - Bootstrap/CSS : Layout issues inside 3-columns layout

css - 如何在 iPad 中将 768×1024 屏幕 View 强制为 360×640 View

html - Wordpress主页底部的空白

java - 无法在开发模式下使用 GWT

java - GWT RPC 应用程序中的异常