如何在javafx中居中标签的文本?在.css样式表中或直接在fxml中。
我在.css中尝试Label { -fx-text-alignment: center;}
,但它不起作用。即使在场景构建器中它也不起作用。
答案 0 :(得分:12)
你基本上有两个选择:
您在评论中说,您使用AnchorPane
作为标签的父级。对于布局窗格来说,这通常不是一个特别好的选择(基本上你必须对每个控件的边界进行硬编码),而且你不能把它放在其中(不管没有大量的工作,不管怎么说)。因此,将锚定窗格作为父窗格,您将简化为选择2:
label.setMaxWidth(Double.MAX_VALUE);
AnchorPane.setLeftAnchor(label, 0.0);
AnchorPane.setRightAnchor(label, 0.0);
label.setAlignment(Pos.CENTER);
显然,所有这些都可以在FXML中设置。
但是,一般情况下,我建议使用更合适的layout pane并在该布局窗格上设置相应的属性以使标签居中。