java - GWT 2.4 应用程序找不到我的 CSS 文件,其类正在通过 UIObject.addStyleName 在代码中使用

标签 java css gwt gwt2

GWT 如何通过 UIObject.addStyleName() 查找其类在代码中使用的 CSS 文件?我应该怎么做才能让我的控件找到我的 css?

我有比较大的元素。我创建了自己的 editor这是我完全以编程方式创建的,没有相邻的 UiBinder xml。

我通过调用 UIObject.addStyleName() 将 css 样式分配给编辑器的某些内部 ui 对象.

我不明白应该将 CSS 放在哪里,以便 GWT 可以在运行时找到它。

我试过:

  • 将所需的 CSS 类放入 CSS 文件中,该文件在使用我的编辑器并使用“ui:style”标签的表单的 UiBinder 模板中引用。
  • 在 client\文件夹中创建单独的 css 文件,并使用“stylesheet”标签在 gwt 模块 xml 中引用它。

这些方法都不起作用。

最佳答案

参见 https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCss#cssfiles

有 4 种方法(我将其分为两类)在您的应用中获取 CSS:

  • 外部样式表:从您的 gwt.xml 引用它或者从您的 HTML 主机页面。要将其捆绑到您的应用程序中,请将其放入 public 中模块中的文件夹(在你的 client 包旁边);或在您的war 文件夹中。查看 GWT 中捆绑的主题以了解其效果。
  • 一个CssResource : 将 CSS 文件放入您的 client层次结构以及 ClientBundleCssResource接口(interface)。 ui:style在 UiBinder 中工作相同,因为它动态生成一个 CssResource , 使用 ui:style 的属性作为 ClientBundle 中方法的注释,以及 ui:style 的内容作为动态生成的 CSS 文件(通过 @Source 注释引用)。 UiBinder 还会自动调用 ensureInjected()对你来说,因为你不一定能处理生成的 CssResource .

关于java - GWT 2.4 应用程序找不到我的 CSS 文件,其类正在通过 UIObject.addStyleName 在代码中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10039450/

相关文章:

java - 如果对象由多维数组保存,我可以使用该方法吗?

javascript - 文本和背景上的 CSS 过渡

html - 使用过多的 colspan 的潜在缺点是什么?

java - 无法通过 getMethod() 找到公共(public)方法

java - 如何从左下角开始在java中计数?

css - 背景图像高度切割

java - 我的 GWT 应用程序的 TinyMCE 或 SmartGWT 富文本编辑器?

java - 为什么 HTMLPanel 不允许添加(小部件)?

gwt - 使用跨站点支持编译 GWT 代码时出错

java - 如何在 windows-64bit "Home Premium"中设置 javamail 路径和类路径