【问题标题】:Default JavaFX-CSS默认 JavaFX-CSS
【发布时间】:2012-08-12 14:18:45
【问题描述】:

有什么方法可以查看适用于 JavaFX 元素的 CSS 规则吗?或者有可用的默认 CSS 规则的已发布参考?

例如,我想知道工具栏边框的颜色。

【问题讨论】:

  • 重新思考您的问题,我之前错过了一个相当明显的答案:您可以使用新的 Scenic View (fxexperience.com/scenic-view) 应用程序在运行时查看节点的属性。到目前为止,我只使用过早期的测试版,所以我不确定它是否会正确显示所有 CSS 属性,但它旨在成为这项工作的正确工具。

标签: css javafx-8 fxml


【解决方案1】:

CSS 文件位于 jfxrt.jar!/com/sun/javafx/scene/control/skin/caspian/caspian.css 的 javafxrt.jar 中。

不幸的是,到目前为止,还没有 API 可以访问元素的 CSS 样式,尽管 JavaFX 2.2 显然正在讨论这一点。

【讨论】:

【解决方案2】:

这是在 pastebin 上提取的 caspian.css - http://pastebin.com/0PebD9nR

【讨论】:

    【解决方案3】:

    摩德纳主题

    在 JavaFX 8 中,默认 CSS 是一个名为 Modena 的新主题。截图见announcement

    OpenJFX site at GitHub 上查看最新版本。

    可以在此处找到构建版本 Java8_91 的 modena.css:

    https://gist.github.com/maxd/63691840fc372f22f470

    如果您在不同的 JDK 版本中搜索 css 文件,这是要走的路。

    JDK 10.0 以下:$JAVA_HOME/jre/lib/ext/jfxrt.jar --> com/sun/javafx/scene/control/skin/modena.

    JDK 10.0 及更高版本:$JAVA_HOME/jmods/javafx.controls.jmod --> classes/com/sun/javafx/scene/control/skin/modena.

    【讨论】:

    • 谢谢。我必须在 javafx.controls.jmod 上使用 jmod extract 才能查看文件。
    【解决方案4】:

    来自Skinning JavaFX Applications with CSS: Default Style Sheet

    JavaFX 应用程序的默认样式表是 caspian.css,它 在 JavaFX 运行时 JAR 文件 jfxrt.jar 中找到

    使用以下命令从 JAR 文件中提取样式表:

    jar -xf jfxrt.jar com/sun/javafx/scene/control/skin/caspian/caspian.css

    然后只需使用 css 查看器。

    【讨论】:

      【解决方案5】:

      至于2019年底默认modena.css可以看jfx官方github repo:

      https://github.com/openjdk/jfx/tree/master/modules/javafx.controls/src/main/resources/com/sun/javafx/scene/control/skin/modena

      或者您可以查看 Maven javafx-controls。例如在javafx-controls-13-win.jar 转到/com/sun/javafx/scene/control/skin/modena/

      【讨论】:

      • 现代信息的好答案。大多数其他现有答案,即使是投票率很高的答案,也包括现在对现代 JavaFX 实现具有误导性的过时信息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 2023-03-30
      • 2018-03-15
      • 1970-01-01
      相关资源
      最近更新 更多