繁体   English   中英

JavaFX 2:如何将样式表加载到作为库的一部分分发的Scene子类中?

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

我将许多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.

我也尝试将一个存根Css类放入css包中,然后使用

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

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

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());

最后将问题跟踪到Intellij IDEA CE,默认情况下,它不会将css文件识别为需要从源复制到目标目录的资源。 将* .css模式添加到已识别的资源类型列表中可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM