JavaFX-如何向StackPane添加多个元素?

JavaFX-如何向StackPane添加多个元素?,java,javafx,Java,Javafx,我是JavaFX新手。我试图创建一个简单的中心菜单,其中包含下面带有按钮的文本 我创建了两个元素,文本标题和按钮测试按钮。然后我创建了StackPane-StackPane。然后,我尝试将这两个元素添加到堆栈窗格子对象,并将其添加到新场景。但是,只显示最后一个元素 如何向StackPane添加多个元素 @Override public void start(Stage primaryStage) throws Exception { primaryStage.setTitle("Test

我是JavaFX新手。我试图创建一个简单的中心菜单,其中包含下面带有按钮的文本

我创建了两个元素,
文本标题
按钮测试按钮
。然后我创建了
StackPane-StackPane
。然后,我尝试将这两个元素添加到
堆栈窗格
子对象,并将其添加到
新场景
。但是,只显示最后一个元素

如何向StackPane添加多个元素

@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("Test Title");

    Text title = new Text("hey!");
    StackPane.setAlignment(title, Pos.TOP_CENTER);

    Button testButton = new Button("Testing");
    StackPane.setAlignment(testButton, Pos.TOP_CENTER);

    StackPane stackPane = new StackPane();
    stackPane.setPrefSize(300, 300);
    stackPane.setPadding(new Insets(25, 0, 0, 0));

    stackPane.getChildren().add(title);
    stackPane.getChildren().add(testButton);

    Scene scene = new Scene(stackPane);

    primaryStage.setScene(scene);
    primaryStage.show();
}

我想在这里参考官方文件:,特别是:

StackPane以从后到前的堆叠方式排列其子级。 子项的z顺序由子项列表的顺序定义,第0个子项为底部,最后一个子项为顶部。如果设置了边框和/或填充,则子对象将在这些插图中展开

现在,为了回答您的问题:您按原样操作,但您可能需要偏移,因为两个子对象都位于同一位置,因此后面添加的一个子对象将覆盖所有前面的子对象

你可以通过改变例如

Text title=新文本(“在这里添加非常、非常、非常、非常、非常长的文本……现在这个卑鄙的按钮不应该再和我重叠了!”)

或者以不同的方式设置对齐方式


如果您不想通过手动定位来获得最佳布局,那么最好使用另一个为您提供此功能的
窗格
,例如,这里的一个直接已知子类:

它们都在那里,它们只是一个叠在另一个上(这就是
堆栈窗格
如何布置子节点的方式)。只需使用一个布局窗格,按照您想要的方式进行布局即可