我试图通过CSS改变我的应用程序方面 . 第一次它工作正常,当我切换到另一个场景时,CSS'类没有被应用 . 因为我的项目有10个场景,所以我更喜欢使用单个CSS文件将我的样式应用于所有场景: StyleManager.getInstance().addUserAgentStylesheet(this.getClass().getResource("/style.css").toExternalForm());
into start()
method . 如何全局应用我的CSS文件的所有场景?
1 回答
您可以使用以下两行来完成:
第一行将使用Application#setUserAgentStylesheet将默认样式表设置为modena(此处甚至可以选择将JavaFX2 caspian设置为默认样式表),而第二行将样式表添加到用户代理样式表列表中 .
这不是最好的解决方案,因为
StlyeManager
是一个私有API(现在将保留在JDK9中) .其他解决方案是子类
Scene
,其中您可以在默认情况下添加样式表的子类,然后您可以创建子类的实例,而不是实例化Scene
.