javafxcss";“未找到资源”;
当我试图更改css文件所在的文件夹时,出现以下错误: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
警告: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());