【问题标题】:Is it possible to use more css properties for JavaFX?是否可以为 JavaFX 使用更多的 CSS 属性?
【发布时间】:2026-01-11 16:50:01
【问题描述】:

我可以为 JavaFX 元素指定更多的 CSS 属性吗?我已经注意到https://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#introlimitations 有一些限制,但是这个列表是我可以设置的所有属性吗?

例如,除了使用 .setFill 之外,我不能更改节点的背景颜色?

【问题讨论】:

  • 当然你可以用-fx-background-color改变背景颜色。它在您发布的链接上!除非你修改 javafx CSS 引擎,否则我认为你不能创建其他属性
  • 什么样的Node?不同的节点有不同的属性集。您可以使用-fx-background-color 设置Region(或子类)的背景颜色,并且可以使用-fx-fill 设置Shape(或子类)的填充。每个Node 类型的属性都记录在您链接的文档中。定义自己的节点子类并支持自定义 CSS 属性是可能的(尽管非常复杂)。您能否准确说明您要做什么?
  • @James_D 我试图为扩展 Circle 类的对象设置背景颜色。我在创建它之后所做的是 object.setStyle("-fx-background-color: ##96ceb4");但它没有用。
  • 阅读文档。圈子没有 -fx-background-color 属性。你需要object.setStyle("-fx-fill: #96ceb4;");。由于 circle 是 Shape 的子类,因此它具有 -fx-fill 属性。

标签: css javafx


【解决方案1】:

正如 Kwoinkwoin 发布的那样,您可以使用预定义的 -fx css 类更改背景。 如果您需要更多 css 自定义规则,可以查看 Hendrik Ebbers 写的一篇很棒的文章 javafx and pseudo classes

的 Pseudo classes

【讨论】:

    最近更新 更多