2012-02-16 2 views
8

Является ли это правильный способ сделать VBox заполнить его родителя:Как сделать 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(); 

ответ

21

Вы можете достичь того же функциональность без использования привязки, используя только BorderPane вместо группы

final BorderPane root = new BorderPane(); 
// construct your VBox 
root.setCenter(vbox); 
1

Вы ошиблись.

Нет необходимости создавать группу в качестве корня, просто используйте VBox в качестве корня и добавьте ее в сцену.

final Scene scene = new Scene(c, 1000, 800, Color.BLACK); 
Смежные вопросы