我正在使用JDK8 build 87,并希望动态添加和删除CSS样式表,以便它们可以被整个JavaFX应用程序使用。目前,我正在使用以下命令设置默认的styleSheet:
这个方案可行,但存在两个问题。首先,它使用了一个私有 API;其次,似乎没有办法在使用完毕后将其删除(我使用 OSGI,因此模块的出现和消失很常见)。
在 2012 年初,有关将 StyleManager 移动到公共 API 的讨论,但我不确定是否已经有所进展。
是否有任何公共方法可以添加 styleSheets,以便它们适用于整个 JavaFX 应用程序?另外,如何移除这些 styleSheets?
(我没有创建新的 javafx-8 标签的特权)。
Application.setUserAgentStylesheet(Application.STYLESHEET_MODENA);
当我想添加额外的CSS样式表时,我会这样做:
com.sun.javafx.css.StyleManager.getInstance.addUserAgentStylesheet(styleSheet);
这个方案可行,但存在两个问题。首先,它使用了一个私有 API;其次,似乎没有办法在使用完毕后将其删除(我使用 OSGI,因此模块的出现和消失很常见)。
在 2012 年初,有关将 StyleManager 移动到公共 API 的讨论,但我不确定是否已经有所进展。
是否有任何公共方法可以添加 styleSheets,以便它们适用于整个 JavaFX 应用程序?另外,如何移除这些 styleSheets?
(我没有创建新的 javafx-8 标签的特权)。