2016-07-02 105 views
0

當我試圖改變在我的css文件中所在的文件夾,我得到這個錯誤:JavaFX的CSS「未找到資源」

WARNING: com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged Resource "file:/C:/[path-to-project]/Test/resources/css/main.css" not found. 

我複製的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項目的佈局[also as an image]

Test 
├───src 
│ └───com 
│  └───Client.java 
├───JRE System Library [JavaSE-1.8] 
└───resources 
    └───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 
+0

您應該添加你的' Eclipse中的類路徑的「資源」路徑。 –

回答

2

把你的main.css文件中resources/com目錄(所以resources +包中的類加載它),然後你可以用一個簡單的(假設你的類被命名爲Client,它是在com包):

scene.getStylesheets().add(Client.class.getResource("main.css").toExternalForm());