我想为许多标签设置字体大小,并且可能不使用外部CSS文件。
我尝试使用Group和setStyle,但是没有用。 (我知道如何设置标签的样式,但不能设置标签类)
Group label_group = new Group();
Label lb1 = new Label("1");
Label lb2 = new Label("2");
label_group.getChildren().addAll(lb1, lb2);
label_group.setStyle("-fx-font-size:20");
Label lb1 = new Label("1");
Label lb2 = new Label("2");
label_group.getChildren().addAll(lb1, lb2);
label_group.setStyle("-fx-font-size:20");
两个标签的字体大小都不会更改为20。如何为10个标签定义属性?我不确定如何使用外部CSS文件(如果只有这样的话)。
答案 0 :(得分:3)
如果您希望多个Node
对象共享相同的样式(不使用外部CSS样式表),则只需使用一种简单的方法即可接受无限数量的参数(在Java中称为“ varargs”,对于“可变参数”)来应用它们:
private void setStyle(Node... nodes) {
for (Node node : nodes) {
node.setStyle("-fx-font-size: 20");
}
}
然后您可以调用该方法,一次传递所有标签:
setStyle(lb1, lb2, lb3);
答案 1 :(得分:0)
如果您对学习如何使用CSS感兴趣,可以在项目的资源目录中找到以下CSS文件“ myStyle.css”
.label{
-fx-font-size:20
}
,然后在您的Java代码中
Label lb1 = new Label("1");
Label lb2 = new Label("2");
scene.getStylesheets().add(yourClassName.class.getResource("myStyle.css").toExternalForm());
其中scene是您要放置标签的任何场景(如果需要,也可以使用stage.getScene())。然后,所有标签都应使用该样式,这样您就不必每次都手动设置它,也可以将其他属性添加到CSS文件中。我最近学习了如何使用它,并且发现它使我的代码看起来不那么混乱。