JavaFX 2 : How to load stylesheet into a Scene subclass distributed as part of a library?

标签 java css stylesheet javafx

我正在对许多 JavaFX 2 类进行子类化,以便将它们作为库的一部分分发给其他人使用。这需要将样式表(库的一部分)应用于 MySceneClass 的所有实例(不是它的真名:-)),我找不到正确的路径魔法。我尝试过以下变体:

mySceneInstance.getStylesheets.addAll("/com/mine/css/MySceneClass.css")

其中 com.mine.css 是库的一个包:我尝试过的变体不包括前导斜线,修剪路径的前导部分,可能还有其他一些。但我总是收到消息:

WARNING: com.sun.javafx.css.StyleManager loadStylesheet Resource "/com/mine/css/MySceneClass.css" not found.

我也试过将 stub Css 类放入 css 包中,然后使用

com.mine.css.Css.getResource("Scene.css")

获取一个我可以传递给 ...getStyleSheets.addAll(...) 的 URL,但是当我这样做时,我会收到如下消息:

WARNING: com.sun.javafx.css.StyleManager loadStylesheet Resource "../css/Scene.css" not found.

这很令人困惑,因为 getResource 似乎正确识别了文件,但我仍然无法加载它。

这是 OS X 上当前的开发预览版(我相信版本是 2.1 09)。

感谢您的帮助, 肯

最佳答案

我只是幸运地使用了 Ensemble 示例中的这种语法:

scene.getStylesheets().addAll(Ensemble2.class.getResource("ensemble2.css").toExternalForm());

关于JavaFX 2 : How to load stylesheet into a Scene subclass distributed as part of a library?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9010989/

相关文章:

java - 意外的泛型行为

iphone - 媒体查询 : Targeting orientation: landscape without excluding desktop computers

javascript - 无法获得切换功能(JavaScript 可以工作)

java - 如何将空格更改为下划线并使字符串不区分大小写?

java - 了解 Maven 构建过程

java - 创建另一个 map 的 map

CSS 表格格式不正确

html - 使用 Delphi 编辑 CSS

html - 这种在样式表中声明样式的方式是否跨浏览器兼容?

javascript - 不用 JavaScript 改变元素样式