css - JavaFX 从资源文件夹加载 CSS 样式

标签 css eclipse javafx nullpointerexception getresource

元素结构:

Project Structure

我目前正在 Eclipse 中开发 JavaFX 应用程序,但无法从资源文件夹加载 .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;
}

最佳答案

终于让它与外部 .css 一起工作,显然 JavaFX CSS 解析器 不允许 @charset "utf-8" 或任何@注解。它没有显示任何警告。

解决方法:

改变这个:

@charset"utf-8";

#header-container {
    -fx-background-color: #7b9bce;
}

对此:

#header-container {
    -fx-background-color: #7b9bce;

关于css - JavaFX 从资源文件夹加载 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770259/

相关文章:

html 从选项中删除带有额外空间的默认选择选项箭头

javascript - 用于重复选项卡的 Jquery

java - Eclipse 为具有 'm' 后缀的域对象和类成员生成 getter/setter

javafx - TextArea 中的拼写检查文本

java - 动态添加的 View 不适合 Pane

jquery - 如何使用 jQuery 为图像添加评论

javascript - 单选按钮不改变背景颜色 HTML/CSS

java - Content Assist 中标准 Java 类的匿名内部类型?它们是如何使用的?

java - 如何使用 Gradle 运行 Jetty

java - 用于设置 SeparatorMenuItem 颜色的 CSS?