2014-10-26 50 views
0

的src/test/java下
場景樣式com.whatever.ui.docking
DockingConsoleDemo.java
dockingconsole.css
無法從CSS

public class DockingConsoleDemo extends Application { 

    @Override 
    public void start(Stage stage) throws Exception { 

     DockingConsoleController controller = new DockingConsoleController(); 
     Scene scene = new Scene(controller, 800, 600); 
     scene.getStylesheets().add("/com/whatever/ui/docking/dockingconsole.css"); 
... 

執行後:
融爲一體。 sun.javafx.css.StyleManager loadStylesheetUnPrivileged
警告:未找到資源「/com/whatever/ui/docking/dockingconsole.css」。

熱建立正確的路徑到CSS文件?

回答

0

它正在尋找一個URL規範。嘗試

String cssLocation = "/com/whatever/ui/docking/dockingconsole.css" ; 
URL cssURL = getClass().getResource(cssLocation); 
scene.getStylesheets().add(cssURL.toExternalForm()); 

您可以登錄URL並檢查它是否在正確的位置。還要確保將css文件部署到類文件(bin目錄或任何位置,取決於您的IDE和設置)的相同位置。

+0

您的意思是dockingconsole.css必須位於DockingConsoleDemo.java所在的包中? – 2014-10-26 17:50:19

+0

假設'DockingConsoleDemo'在'com.whatever.ui.docking'中,是的。但我的觀點是在編譯之後確保它是真實的,而不僅僅是在源目錄層次結構中。 – 2014-10-26 18:01:05