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

结果


这是我的代码:

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文档用于按钮?

最佳答案

VBox仅将子级的大小调整为其maxWidth的大小,对于Button是默认情况下根据Button的内容大小计算的大小。 (Region.USE_COMPUTED_SIZE用作maxWidth属性的默认值。)

如果删除这些约束,则可以得到所需的结果:

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

关于java - Vbox中的fillWidth属性不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51594095/

10-09 02:08