尝试将 css 样式表与 JavaFX 一起使用时出现“loadStylesheetUnPrivileged”错误

Maz*_*one 5 css java directory javafx stylesheet

我已经阅读了我能找到的关于此错误的每一篇文章/帖子,并且我已经尝试了提到的每一个解决方案,并且该错误仍然在运行时产生。这是我的代码,下面是来自控制台的错误消息:

public class Driver extends Application {

public static void main(String[] args) {
    launch(args);
} // main

@Override
public void start(Stage primaryStage) {

    Parent root = null;
    File css = new File("stylesheet.css");

    try {
        root = FXMLLoader.load(getClass().getResource("project-3.fxml"));
        root.getStylesheets().clear();
        root.getStylesheets().add("file:///" + css.getAbsolutePath().replace("\\", "/"));
    } catch (IOException e) {
        System.out.println(e);
        System.exit(1);
    } // try

    primaryStage.setTitle("Programmer's Calculator");
    primaryStage.setScene(new Scene(root, 397, 376));
    primaryStage.show();



} // start
Run Code Online (Sandbox Code Playgroud)

} // 司机

我已经排除了 import 语句以节省空间 - 它们不是问题。

这是产生的错误:

com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged 信息:找不到样式表:file:////Users/UserName/Documents/Names-p3/stylesheet.css

这是我的目录:

目录结构

这是我尝试过的:

  • 创建了一个场景变量并尝试将 css 样式表应用于该变量
  • 在我的 fxml 文件中的 Pane 元素中添加了“stylesheets”修饰符或其他任何名称,如下所示: <Pane stylesheets="stylesheet.css">
  • 将目录命名更改为可以想象的任何内容......

从字面上看,什么都不起作用。到底是怎么回事?

Col*_*iza 3

将包含样式表的文件放入src文件夹中,然后将其应用到根目录。

\n\n
root = FXMLLoader.load(getClass().getResource("project-3.fxml")); \nroot.getStylesheets().add(getClass().getResource("your_stylesheet.css").toExternalFo\xe2\x80\x8c\xe2\x80\x8brm());\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
root.getStylesheets().add(getClass().getResource("your_stylesheet.css").toString());\n
Run Code Online (Sandbox Code Playgroud)\n