所以我有以下代码snipet,我想在我的JavaFX应用程序中应用于99%的标签。但是,有时我不希望它被应用。不幸的是,每当我试着打电话
myFont.setFont(Font.loadFont(etc etc);
无法覆盖CSS文件中的标签类。如何才能做到这一点?谢谢!
.label
{
-fx-font-size: 14pt;
-fx-font-family: "Segoe UI Semibold";
}
答案 0 :(得分:2)
有不同的方法可以做到这一点。这里描述的方法很少:
.label
,并在99%的标签上使用它。代码:
mylabel.getStyleClass().add("my-label")
CSS:
.my-label {
-fx-font-size: 14pt;
-fx-font-family: "Segoe UI Semibold";
}
label
样式类,并将新样式类设置为1%的标签。这将从节点中删除已存在的.label
样式类。这似乎是一种更简单的方法,但如果我是你,我不会采用这种方法,因为我们< 3默认样式,我们希望它们默认应用于各个节点。 / LI>
代码:
mylabel.getStyleClass().setAll("my-label");
答案 1 :(得分:1)
.label
是应用于Node
类型的所有Label
的内置样式之一。您可以删除任何样式类:
Label lbl = ...
lbl.getStyleClass().remove("label");
但是我会建议另一种方法,不涉及删除样式类,尤其是内置的一个。
由于似乎只有一些选定的标签,没有那种风格,您可以在这些标签上覆盖它:
.label-override {
-fx-font-size: 10pt;
-fx-font-family: "Segoe UI Semibold";
}
Label otherLbl = ...
otherLabel.getStyleClass().add("label-override);