Vbox中的fillWidth属性不起作用

时间:2018-07-30 12:34:55

标签: java javafx javafx-8

我按照此link所述为test fillwidth属性编写了项目,但结果却有所不同。

结果
this is result image

这是我的代码:

public class VBoxSample extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception{
        Button b1 = new Button( " it's test of size ") ;
        Button b2 = new Button( " VBOX test") ;
        Button b3 = new Button( " it's test") ;

        VBox vbox = new VBox( 10 , b1 , b2 ,b3) ;
        vbox.setAlignment(Pos.CENTER);
        primaryStage.setScene(new Scene( vbox ));
        primaryStage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

我做错了什么部分?为什么fillWidth不能作为Oracle文档的按钮使用?

1 个答案:

答案 0 :(得分:1)

VBox仅将子元素的大小调整为maxWidth,而Button的大小默认是根据Button的内容大小计算的。 (Region.USE_COMPUTED_SIZE用作maxWidth属性的默认值。)

如果删除这些约束,您将获得所需的结果:

b1.setMaxWidth(Double.MAX_VALUE);
b2.setMaxWidth(Double.MAX_VALUE);
b3.setMaxWidth(Double.MAX_VALUE);