如何在javafx的窗格上居中标签

Jas*_*lve 3 java layout javafx pane

我想将结果设置为Pane.

Label results = new Label("You win");
Pane pane = new Pane();
pane.getChildren().add(results);
Run Code Online (Sandbox Code Playgroud)

我已经尝试了下面的两行代码,但都不起作用。

results.setAlignment(Pos.CENTER);
results.setContentDisplay(ContentDisplay.CENTER);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我知道如何得到这个中心与StackPaneGridPane,但在这种情况下,我需要使用一个简单的Pane

fab*_*ian 5

Pane不支持以孩子为中心。因此它必须手动完成,即必须“手动”计算layoutXlayoutY位置。

您可以通过绑定来实现这一点:

results.layoutXProperty().bind(pane.widthProperty().subtract(results.widthProperty()).divide(2));
// procede accordingly with layoutY / height
Run Code Online (Sandbox Code Playgroud)