4
我正在使用Java 1.8u25,我正在使用如下所示的樣式表(Java和Clojure等價物)。我可以在沒有JVM重啓的情況下重新加載JavaFX 8中的樣式表嗎?
//Java
new Pane().getStylesheets().add("some_style.css")
//Clojure
(doto (Pane.)
(-> .getStylesheets (.add "some_style.css")))
我正在使用Clojure,並且在測試運行之間不重新啓動JVM。但是,我確實爲每次運行創建了一個新的GUI實例。 JavaFX將樣式表緩存在某處,因此編輯CSS文件不起作用。有沒有辦法強制JavaFX重新加載樣式表?或者,重新加載類以便緩存丟失的方法?
應該也許已經更清楚了:它們之間並不是相同的實例。我做了一個新的窗格實例。此外,我試圖添加,清除,然後再添加在同一個實例上,你說應該工作,但事實並非如此。我很確定有一個緩存,正如[這裏]討論的那樣(https://community.oracle.com/thread/2296345?tstart=0)。但是那裏提到的'reloadStylesheets'方法似乎沒有了。 在最糟糕的情況下,我只是臨時重命名css文件來欺騙緩存。 – oskarkv 2014-10-27 08:35:36
@oskarkv我用相同的「窗格」實例檢查了它。添加樣式表,然後更改CSS文件,然後清除樣式表並添加再次爲我工作。 – icza 2014-10-27 09:07:18
你使用哪個版本的Java?另外我嘗試更改CSS文件的名稱,然後按預期工作(一次)。 – oskarkv 2014-10-27 11:58:00