项目结构:
我目前正在Eclipse中开发JavaFX应用程序,而且我在从resources文件夹加载.css样式表时遇到问题。
我已将资源文件夹添加到类路径中(项目属性 - > 来源 - > 添加文件夹)
正在使用以下代码:
this.getStylesheets().add(getClass().getResource("/CSS/application-container.css").toExternalForm());
getResource()
投掷 NullPointerException 我已阅读其他帖子并尝试了所有内容,但似乎无法让它发挥作用。
编辑:通过删除和恢复bin文件夹来管理它。现在.css已加载但由于某种原因它没有被应用,但是使用具有相同.css内容的javaFX方法.setStyle(...)
,它可以正常工作。
private void buildHeader() {
this.header.setId("header-container");
this.getStylesheets().add(getClass().getResource("/CSS/application-container.css").toExternalForm());
// this.header.setStyle("-fx-background-color: #7b9bce;"); this way works
}
CSS:
@charset"utf-8";
#header-container {
-fx-background-color: #7b9bce;
}
答案 0 :(得分:0)
最后让它与外部.css一起工作,显然 JavaFX CSS解析器 不允许 @charset "utf-8"
或任何@ anotation。它没有任何警告。
解决方案:
更改此内容:
@charset"utf-8";
#header-container {
-fx-background-color: #7b9bce;
}
对此:
#header-container {
-fx-background-color: #7b9bce;