![](/img/trans.png)
[英]How to set several default CSS stylesheet for an application with JavaFX 9 (a replace for StyleManager)?
[英]JavaFX - Set default CSS stylesheet for the whole Application
我對JavaFX非常陌生,我正嘗試通過CSS更改應用程序方面。 第一次工作正常,當我切換到另一個場景時,CSS的類未應用。 因為我的項目有10個場景,所以我更喜歡使用一個CSS文件通過以下語句將樣式應用於所有場景: StyleManager.getInstance().addUserAgentStylesheet(this.getClass().getResource("/style.css").toExternalForm());
進入start()
方法。 如何在全局范圍內將CSS文件應用於所有場景?
您可以執行以下兩行:
Application.setUserAgentStylesheet(Application.STYLESHEET_MODENA);
StyleManager.getInstance().addUserAgentStylesheet(getClass().getResource("/style.css").toString());
第一行使用Application#setUserAgentStylesheet
將默認樣式表設置為Modena(在這里您甚至可以選擇將JavaFX2里海設置為默認樣式表),而第二行將樣式表添加到用戶代理樣式表列表中。
這不是最好的解決方案,因為StlyeManager
是私有API(並且現在將保留在JDK9中)。
其他解決方案是子類Scene
,默認情況下,您可以在該子類中添加樣式表,然后可以實例化子類的實例,而不是實例化Scene
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.