如何使用 setStyle() 内嵌样式复选框的 css

How to style checkbox's css in-line using setStyle()

让我长话短说。

所以。我知道您可以在 css 中设置 CheckBox 的 .box 样式,例如:

.check-box > .box {
    -fx-background-color: white;
}

但我不确定如何内联。请仅提供示例代码。谢谢

内联样式仅适用于节点本身,不适用于子节点。除非您愿意使用 lookup 访问子节点,否则您将无法直接使用内联样式来设置子节点的样式。这仅在创建皮肤之后才有效,尽管这通常发生在第一次布局之前,如果您想从 fxml/controller initialize.

开始,这可能会造成问题

modena.css 包含针对(未)聚焦 CheckBoxes 的 .box 子项的以下声明:

-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-color: -fx-focus-color, -fx-inner-border, -fx-body-color, -fx-faint-focus-color, -fx-body-color;

即它包含 从父级继承的查找颜色,因此可以使用 CheckBox 上的内联 css 进行分配:

checkBox.setStyle("-fx-body-color: red;");