2013-06-25 62 views

回答

9

您可以設置默認皮膚:

@Override 
public void start(Stage stage) throws Exception { 
    .... 
    setUserAgentStylesheet(STYLESHEET_CASPIAN); 
    .... 
} 

http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/

+0

這不是JavaFX 8的方法嗎?它會在JRE 7上運行嗎? – OttPrime

+2

@OttPrime不會在7上運行,使用'System.setProperty(「javafx.userAgentStylesheetUrl」,「CASPIAN」);' – Jurgen

+0

上面的代碼在啓動應用程序時會工作,但由於某種原因,在使用Java Web Start啓動時工作,有什麼想法?我一直在爲此苦苦掙扎了一段時間,我似乎無法找到它的原因。 – skjerdalas

2

您可以通過添加樣式表來設置自己的皮膚。

scene.getStylesheets().add(
    getClass().getResource("my-skin.css").toExternalForm()); 

不幸的是沒有默認的樣式表。也許瀏覽jfxrt.jar可能會產生一些東西。

+0

是否有任何其他皮膚內置到JavaFX中,我可以使用? –

+0

不是我所知道的,但我對JavaFX根本沒有經驗。 –

+0

@OttPrime讓它成爲一個答案;我已經有足夠的分數了。 –

6

JavaFX 2的默認樣式表是caspian.css。你可以在jfxrt.jar的com.sun.javafx.scene.control.skin.caspian下找到它。這在JavaFX 8中發生了變化,我相信默認樣式表被命名爲modena.css。爲了獲得一個通用的樣式表,你必須定義你自己的或者將其中一個默認值複製到你的項目中。

2

您還可以在命令行上-Djavafx.userAgentStylesheetUrl =裏海運行。