我有一个 .css
文件,其中包含一些标签样式。这是这个文件的一部分:
#defaultBeforeAndNowLabel {
-fx-background-color: "C4BA62";
-fx-text-fill: blue;
-fx-alignment: center;
-fx-font-size: 1.3em;
-fx-font-weight: bold;
}
#changedLabelBefore {
-fx-font-size: 1.5em;
-fx-background-color: red;
-fx-text-fill: black;
-fx-alignment: center;
-fx-font-weight: bold;
}
#changedLabelNow {
-fx-font-size: 1.5em;
-fx-background-color: lawngreen;
-fx-text-fill: white;
-fx-alignment: center;
-fx-font-weight: bold;
}
在代码中我使用了这样的东西:
label.setId("changedLabelBefore");
它有效,但是 .css
文件中有太多重复项,我想我可以使用类似继承的方法来避免它。如何更改我的 .css
文件以及如何在 java 代码中使用它?
最佳答案
一种可能的解决方案是使用类而不是 ID。
.css 文件看起来像
.defaultLabel {
-fx-alignment: center;
-fx-font-weight: bold;
…
}
.defaultLabelBefore {
-fx-text-fill: black;
-fx-background-color: red;
}
相应的 java 代码看起来像
Label.getStyleClass.addAll(“defaultLabel”, “defaultLabelBefore”);
关于java - 在 JavaFX 元素中使用 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906188/