2012-02-16 19 views
8

Czy to jest prawidłowy sposób, aby VBox wypełnić swój nadrzędny:Jak VBox wypełnić wielkość jego rodzica

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(); 

Odpowiedz

21

można osiągnąć tę samą funkcjonalność bez użycia wiążą, używając tylko BorderPane zamiast Grupa

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

Robisz wspólny błąd.

Nie trzeba tworzyć grupy jako root, wystarczy użyć VBox jako root i dodać go do sceny.

final Scene scene = new Scene(c, 1000, 800, Color.BLACK); 
Powiązane problemy