Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javafx中将标签居中放置在窗格上_Java_Layout_Javafx_Pane - Fatal编程技术网

如何在javafx中将标签居中放置在窗格上

如何在javafx中将标签居中放置在窗格上,java,layout,javafx,pane,Java,Layout,Javafx,Pane,我想将结果设置到窗格的中心 Label results = new Label("You win"); Pane pane = new Pane(); pane.getChildren().add(results); 我已经尝试了下面的两行代码,但都不起作用 results.setAlignment(Pos.CENTER); results.setContentDisplay(ContentDisplay.CENTER); 顺便说一句,我知道如何使用StackPane和GridPane将其居

我想将结果设置到
窗格的中心

Label results = new Label("You win");
Pane pane = new Pane();
pane.getChildren().add(results);
我已经尝试了下面的两行代码,但都不起作用

results.setAlignment(Pos.CENTER);
results.setContentDisplay(ContentDisplay.CENTER);

顺便说一句,我知道如何使用
StackPane
GridPane
将其居中,但在这种情况下,我需要使用普通的
窗格
窗格
不支持将子项居中。因此必须手动完成,即必须“手动”计算
layoutX
layoutY
位置

Label results = new Label("You win");
Pane pane = new Pane();
pane.getChildren().add(results);
您可以通过绑定来实现这一点:

results.layoutXProperty().bind(pane.widthProperty().subtract(results.widthProperty()).divide(2));
// procede accordingly with layoutY / height

我对装订很厌烦,所以我做了一些简单的工作。从那时起,我的“信息盒”就一直处于中心位置。中间窗格玻璃到锚烷。可能与其他控件和容器一起工作,我没有尝试

double w = (anchorpane.getWidth()/2)-(panel.getWidth()/2);
double h = (anchorpane.getHeight()/2)-(panel.getHeight()/2);
panel.setLayoutX(w); panel.setLayoutY(h);