Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javafxcss";“未找到资源”;_Java_Css_Javafx_Classpath - Fatal编程技术网

javafxcss";“未找到资源”;

javafxcss";“未找到资源”;,java,css,javafx,classpath,Java,Css,Javafx,Classpath,当我试图更改css文件所在的文件夹时,出现以下错误: 警告:com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged Resource“文件:/C:/[项目路径]/Test/resources/css/main.css”未找到。 我复制了URL并将其粘贴到文件管理器中,它打开了文件,因此我知道它存在 public static void main(String[] args) { launch(args); } @Overr

当我试图更改css文件所在的文件夹时,出现以下错误:

警告:com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged Resource“文件:/C:/[项目路径]/Test/resources/css/main.css”未找到。
我复制了URL并将其粘贴到文件管理器中,它打开了文件,因此我知道它存在

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

@Override
public void start(Stage primaryStage) throws Exception
{
    primaryStage.setTitle("New Window");

    Scene scene = new Scene(new AnchorPane(), 800, 600);
    primaryStage.setScene(scene);

    URL css = new URL("file:///" + 
            new File("resources/css").getAbsolutePath().replace("\\", "/") + 
            "/main.css");
    scene.getStylesheets().clear();
    scene.getStylesheets().add(css.toExternalForm());

    primaryStage.show();
}
这是我的eclipse项目布局:

测试
├───src
│   └───通用域名格式
│       └───Client.java
├───JRE系统库[JavaSE-1.8]
└───资源
└───css
└───main.css
我试过:

scene.getStylesheets().add(getClass().getResource("/resources/css/main.css")); 
scene.getStylesheets().add(getClass().getResource("resources/css/main.css"));
scene.getStylesheets().add(getClass().getResource("../resources/css/main.css"));
我还尝试使用fxml添加css文件,尝试:

stylesheets="@../resources/css/main.css"
stylesheets="@/resouces/css/main.css"
stylesheets="@resources/css/main.css

将您的
main.css
文件放入
resources/com
目录中(因此
resources
+类加载它的包),然后您可以使用一个简单的(假设您的类名为
Client
,并且它位于
com
包中):


您应该在Eclipse.old中将
resources
路径添加到类路径中,但对于专业读者:对于Jigsaw,javafx源代码中有一个FIXME注释:“/FIXME:Jigsaw——如果资源位于模块中,请使用Class.getResourceAsStream”。希望他们能尽快解决这个问题。
scene.getStylesheets().add(Client.class.getResource("main.css").toExternalForm());