如何使VBox填充其父级的大小

时间:2012-02-16 12:52:11

标签: javafx-2

这是使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();

2 个答案:

答案 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);