css - gwt 如何使用 setStyleName(String style, boolean add) - 对于 gwt 标准小部件

标签 css gwt uibinder

我想在 GWT MenuBar 中设置/标记 MenuItem 的样式。所以我有一些逻辑可以将样式名称添加到菜单项(逻辑工作正常)。

mItem.setStyleName("menuItemMarked", true);

使用此设置 getStyleName 会按预期产生“gwt-MenuItem menuItemMarked”。

但是如何在 css 中使用/应用这种样式(目前我将 css 放在 uibinder.xml 中)? (如你所见,我不是 CSS 专家)

更新:我试过的是that .

.menuItemMarked{background-color: yellow}

这是行不通的。如果我调用“inspect element”(chrome),我可以看到“class="gwt-MenuItem menuItemMarked”,但我在应用样式列表中找不到样式“menuItemMarked”?!

最佳答案

您在哪里指定 CSS?

如果您的代码位于您的代码包中,它很可能被 GWT 编译器混淆了。这适用于 <ui:style> .ui.xml 中的 block 文件,和 .css ClientBundles 中包含的文件。

在这种情况下,您需要查看 Programmatic Access to Inline Styles来自 GWT 文档。这将允许您将代码更改为:

mItem.setStyleName(style.menuItemMarked(), true);

或者,您可以告诉 GWT 不要混淆某些 CSS 类。 Here is a detailed answer to a similar question


最后,如果 GWT 不接触您的 CSS 文件(它像其他文件一样从您的服务器提供),那么您将需要确保您的文件正确包含在您的页面中。您浏览器的开发工具应该能够帮助解决这个问题。

关于css - gwt 如何使用 setStyleName(String style, boolean add) - 对于 gwt 标准小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362442/

相关文章:

c# - GTKSharp 中的 CSS 样式

gwt - ui :with, 样式未显示

java - 使用形象与品牌

java - GWT uiBinder 与继承一起工作?

javascript - 在 Col-Sm 上折叠引导导航栏

css - 绝对定位跨度收缩

html - 对齐项的限制 :stretch on flexbox?

java - 使用 Eclipse 和 GWT 在 Java 中进行多页面开发

java - GWT - 设置 TabLayoutPanel 样式的问题