我已將「styles.css」放入了我的包的根目錄,現在試圖弄清楚如何在代碼中將其鏈接起來。問題是,@ .getStylesheets()加(_)將一個字符串不URL,所以我知道所有的方法都失敗在這裏。OSGi包內的JavaFX樣式表
以1:
scene.getStylesheets().add("styles.css");
→
Nov 15, 2013 2:04:47 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
WARNING: Resource "styles.css" not found.
以2:
scene.getStylesheets().add(this.getClass().getResource("styles.css").toExternalForm());
→
NullPointerException
取3:
scene.getStylesheets().add(this.getClass().getClassLoader().getResource("styles.css").toExternalForm());
→
Nov 15, 2013 2:27:31 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
INFO: Could not load stylesheet: bundle://5.0:1/styles.css
以4:
scene.getStylesheets().add(myBundle.getEntry("styles.css").toExternalForm());
→
Nov 15, 2013 1:31:35 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
INFO: Could not load stylesheet: bundle://5.0:0/styles.css
我使用費利克斯 - 4.2.1,的Java-8(建立1.8.0-EA-B115),JavaFX的8(8.0.0-EA-B115 )。
同樣的麻煩基於束變,但感謝嘗試 - !我已將它包含在帖子中 – aemxdp
因爲它對我來說正是這樣,而對於@puce,在你的設置中有錯誤嗎?是否有可能你的IDE沒有將CSS文件複製到類路徑中(例如在Eclipse中)必須是bin文件夾的一部分) – tomsontom
我檢查過jar並且一切正常。它實際上看到了css文件,但未能加載它(「INFO:無法加載樣式表」vs「WARNING:Resource」styles.css「找不到「)。也許麻煩在於上一個felix,javafx或java。目前,我已經切換到embedde d felix(處理javafx部分外部捆綁包),一切都很好。 – aemxdp