簡體   English   中英

JavaFX-為整個應用程序設置默認的CSS樣式表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM