首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为使用JavaFX 9的应用程序设置几个默认的CSS样式表(StyleManager的替换)?

如何为使用JavaFX 9的应用程序设置几个默认的CSS样式表(StyleManager的替换)?
EN

Stack Overflow用户
提问于 2017-11-13 22:01:57
回答 1查看 869关注 0票数 7

谁的该死的想法是排除StyleManager而没有直接和明确的替代-它打破了许多程序,正如我所看到的!

我需要对整个应用程序进行一些重新设计(定制组件、自定义伪类、定制平台特定补丁等)。在JavaFX 8中,我可以使用:com.sun.javafx.css.StyleManager.getInstance().addUserAgentStylesheet("MyShit.css");

但是在Java9中,StyleManager是不可用的。那么有办法为每个场景设置CSS吗?

使用"Application.setUserAgentStylesheet“不是一个选项,因为我不想失去默认的外观和感觉,我已经将其称为设置MODENA样式。我希望扩展默认的CSS,而不是替换它。我也不想重写整个MODENA (很明显)。

我真的不想手动为应用程序中的每个表单/场景设置相同的样式表(或者将它添加到每个FXML文件中)。有许多形式,动态构造的对话框。主要原因是,有几个应用程序之间共享的部分(和库),所以我不想硬编码任何样式表(对于不同的应用程序可能有不同的名称和路径)。

因此,我需要一种方法来为应用程序的每一个可能场景设置一个额外的样式表。这在FX9中有可能吗?

我查看了定制的FXML加载器、CSS加载器、场景加载器和其他拦截场景创建的方法--没有办法!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-14 17:42:18

这只是JavaFX的另一个不足--只需使用下面的JVM参数就可以访问StyleManager。

代码语言:javascript
运行
复制
--add-exports=javafx.graphics/com.sun.javafx.css=ALL-UNNAMED
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47274305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档