如何使布局的内容可调整大小?

How to make layout's content resizable?

我在 scene builder 中创建了这个:

我的目标是让这个更漂亮一点:

为此,我想操纵布局属性,但我真的不知道该怎么做。 我正在考虑 使用 spacing 来解决我的第一个问题,但它看起来很复杂,而且我不知道如何解决我的第二个问题。

我的布局选择正确吗?我必须使用哪些属性来解决我的问题?

谢谢。

IMO 使用 StackPane 作为顶部布局更合适:

@Override
public void start( Stage stage )
{
    Button b = new Button( "Close" );
    Label l = new Label( "Console" );

    StackPane sp = new StackPane( l, b );
    StackPane.setAlignment( l, Pos.CENTER_LEFT );
    StackPane.setAlignment( b, Pos.CENTER_RIGHT );

    TextArea area = new TextArea();
    VBox.setVgrow( area, Priority.ALWAYS );
    VBox box = new VBox( sp, area );

    Scene scene = new Scene( box, 800, 600 );

    stage.setScene( scene );
    stage.show();
}

但是HBox的使用是不可避免的,添加另一个元素作为间隔:

@Override
public void start( Stage stage )
{
    Button b = new Button( "Close" );
    Label l = new Label( "Console" );
    Pane spacer = new Pane();

    HBox hBox = new HBox(l, spacer, b);
    HBox.setHgrow( spacer, Priority.ALWAYS);

    TextArea area = new TextArea();
    VBox.setVgrow( area, Priority.ALWAYS );
    VBox box = new VBox( hBox, area );

    Scene scene = new Scene( box, 800, 600 );

    stage.setScene( scene );
    stage.show();
}