这是使VBox填充其父级的正确方法:
final Group root = new Group();
final Scene scene = new Scene(root, 1000, 800, Color.BLACK);
final VBox c = new VBox();
c.setAlignment(Pos.TOP_CENTER);
c.setSpacing(10);
c.setFillWidth(true);
c.getChildren().add(...);
c.getChildren().add(...);
c.getChildren().add(...);
c.prefWidthProperty().bind(scene.widthProperty());
c.prefHeightProperty().bind(scene.heightProperty());
root.getChildren().add(c);
stage.setTitle("blah"); //$NON-NLS-1$
stage.setScene(scene);
stage.show();
答案 0 :(得分:21)
您可以在不使用bind的情况下实现相同的功能,仅使用BorderPane而不是Group
final BorderPane root = new BorderPane();
// construct your VBox
root.setCenter(vbox);
答案 1 :(得分:1)
你犯了一个常见的错误。
没有必要创建一个组作为根,只需直接使用VBox作为根并将其添加到场景中。
final Scene scene = new Scene(c, 1000, 800, Color.BLACK);