【问题标题】:Scene Builder 2.0 can't load stylesheet from resources/classpathScene Builder 2.0 无法从资源/类路径加载样式表
【发布时间】:2014-01-22 13:23:47
【问题描述】:
我的 FXML 文件具有在根节点上指定的属性 stylesheets="styles/Styles.css"。这在程序启动时工作正常。但是,在 Scene Builder 2 中,css 没有加载,控制台打印 WARNING: Resource "styles/Styles.css" not found.,属性面板不起作用,控制台进一步打印堆栈跟踪。如果 stylesheets 属性是用绝对的file: url 指定的,那么 SB 可以工作,但我需要 url 指向类路径。
【问题讨论】:
标签:
javafx-2
javafx-8
scenebuilder
【解决方案1】:
在我的例子中,样式表是在根元素内部这样定义的:
<stylesheets>
<URL value="@css/base.css" />
</stylesheets>
在这种表示法中,它可能意味着从 FXML 文件位置相对搜索该文件。
但您必须在运行时指定加载的 FXML 文件的位置。
// file = String with FXML file path, loader = FXMLLoader
URL resource = getClass().getResource(file);
loader.setLocation(resource);
希望对你有帮助……
顺便说一句,Scene Builder 2.0 仍然是抢先体验版本,所以也可能存在一些问题......