繁体   English   中英

Vbox 内的 Hbox

[英]Hbox inside Vbox

我试图将 Hboxes 放在 Vbox 中,这意味着每个 Hbox 应该是一行,但我得到了这个结果

截屏

标签名及其对应的文本框应为一行,姓氏应为另一行。

我该怎么做才能使每个 hbox 成为 vbox 中的单独行。

我的代码:

public class App extends Application {

     Button btn1=new Button("Add");
    Button btn2=new Button("Subtract");
    Button btn3=new Button("Multiply");
    Button btn4=new Button("Devide");
    Button reset=new Button("reset");                                            //reset X?
    TextField T1=new TextField();
    TextField T2=new TextField();
    TextField T3=new TextField();
    Label L1=new Label("Number 1: ");
    Label L2=new Label("Number 2: ");
    Label L3=new Label("Result: ");
    Label L=new Label();
    Label I=new Label();
    Button create=new Button("Create");
    Button update=new Button("Update");
    Label idlabel=new Label("Id ");
    Label fname=new Label("First Name ");
    Label lname=new Label("Last Name ");
    TextField firstName=new TextField();
    TextField lastName=new TextField();




    @Override
    public void start(Stage primaryStage) 
    {    

        HBox H4=new HBox();
        H4.getChildren().add(create);
        H4.getChildren().add(update);
        H4.setAlignment(Pos.CENTER);
        H4.setSpacing(3);


        VBox V=new VBox();
        V.getChildren().add(H4);
        V.setSpacing(6);

        HBox fnameBox=new HBox();
        fnameBox.getChildren().add(fname);
        fnameBox.getChildren().add(firstName);
        fnameBox.setAlignment(Pos.CENTER);
        fnameBox.setSpacing(5);

        HBox lnameBox=new HBox();
        fnameBox.getChildren().add(lname);
        fnameBox.getChildren().add(lastName);
        fnameBox.setAlignment(Pos.CENTER);
        fnameBox.setSpacing(5);

        VBox Form=new VBox();
        Form.getChildren().add(fnameBox);
        Form.getChildren().add(lnameBox);


        create.setOnAction((e->  
        {
            Scene scene = new Scene (Form, 500, 750);
            primaryStage.setTitle("Create Student");
            primaryStage.setScene(scene);
        }
        ));



        Scene scene = new Scene (V, 500, 750);
        primaryStage.setTitle("calculator");
        primaryStage.setScene(scene);
        primaryStage.show();
    }


    public static void main(String[] args)
    {
        launch(args);
    }

}

这是你的问题

HBox lnameBox=new HBox();
fnameBox.getChildren().add(lname);
fnameBox.getChildren().add(lastName);
fnameBox.setAlignment(Pos.CENTER);
fnameBox.setSpacing(5);

您创建lnameBox但使用fnameBox代替。 所以lnameBox没有孩子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM