在多个 类 之间共享 JavaFX css 值

Sharing JavaFX css values across multiple classes

如何在多个 类 之间共享设置?我需要将某些样式应用于我的 tableview 单元格(取决于显示的枚举值)并且不想重复以下值 -

.A { 
    -fx-background-color: red;
}

.B { 
    -fx-background-color: red;
}

你应该阅读 Skinning JavaFX Applications with CSS tutorial and the JavaFX CSS Reference Guide

摘录:

您可以通过向样式 sheet 添加定义来创建 class 样式。示例 5 在 controlStyle1.css 中定义了一个名为 .button1.

的新样式

示例 5 定义新样式

.button1{
    -fx-text-fill: #006464;
    -fx-background-color: #DFB951;
    -fx-border-radius: 20;
    -fx-background-radius: 20;
    -fx-padding: 5;
}

要将此 class 样式分配给节点,请使用 getStyleClass().add() 方法序列。示例 6 显示了分配给“接受”按钮的 .button1 样式。

Button buttonAccept = new Button("Accept");
buttonAccept.getStyleClass().add("button1");

您可以使用

将规则应用于多个选择器
.A, .B {
    -fx-background-color: red;
}