java - 无法在边框 Pane 中居中节点

标签 java javafx borderpane

我这辈子都想不通为什么我不能将 VBox 居中放置在边框 Pane 的某个部分中。

@Override
public void start(Stage primaryStage) throws Exception{
    BorderPane root = new BorderPane();
    Scene scene = new Scene(root, 960, 600);
    primaryStage.setScene(scene);
    primaryStage.setTitle("Test application");
    primaryStage.setFullScreen(true);
    primaryStage.setFullScreenExitHint("Press escape to exit fullscreen");
    primaryStage.show();
    javafx.scene.image.Image icon = new Image("sample/Riverviewcrest.png");
    primaryStage.getIcons().add(icon);

    Pane paneleft = new Pane();
    Pane paneright = new Pane();
    Pane panecenter = new Pane();
    Pane panetop = new Pane();
    Pane panebottom = new Pane();

    paneleft.setPrefWidth(100);
    paneright.setPrefWidth(100);
    panetop.setPrefHeight(100);
    panebottom.setPrefHeight(100);

    panecenter.setStyle("-fx-background-color: #0053A8");

    root.setLeft(paneleft);
    root.setRight(paneright);
    root.setCenter(panecenter);
    root.setTop(panetop);
    root.setBottom(panebottom);


    Text test = new Text("Hello");
    Text test2 = new Text("Hello");
    Text test3 = new Text("Hello");
    Text test4 = new Text("Hello");
    VBox box = new VBox();
    box.getChildren().addAll(test, test2, test3, test4);
    panecenter.getChildren().add(box);
    root.setAlignment(box, Pos.CENTER);
}

public static void main(String[] args) {
    launch(args);
}

目的是让文本在边框 Pane 的中心部分居中。感谢您提供的所有帮助!

最佳答案

根本不需要panecenter。只需将 box 设置为 BorderPane 的中心属性并将其居中:

box.setAlignment(Pos.CENTER);
root.setCenter(box);

你也不需要 paneleftpanerightpanetoppanebottom

关于java - 无法在边框 Pane 中居中节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35680978/

相关文章:

java - Java + MySQL + Vibur-dbcp 无法创建连接池

css - 如何突出显示我通过 JavaFX 中的复选框选择的列

Javafx - 任务 ':run' 执行失败

java - 如何让我的 StackPane 占据窗口的整个垂直高度?

java - 属性 quarkus.http.ssl.certificate.key-store-file 无法正常工作,无法找到请求目标的有效证书路径

java.util.ConcurrentModificationException 仅在多个触摸事件之后

java - 如何在失败时重新安排 Apache Camel Quartz (CronScheduledRoutePolicy) 端点路由

java - Short 类实例创建表达式时出现编译错误

JavaFX 在 UI 中的两个 Pane 之间切换

user-interface - 带分割栏的 Javafx BorderPane