【问题标题】:Hbox inside VboxVbox里面的Hbox
【发布时间】:2020-02-03 08:44:13
【问题描述】:

我正在尝试将 Hbox 放置在 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);
    }

}

【问题讨论】:

标签: java javafx netbeans


【解决方案1】:

这是你的问题

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 2021-09-24
    相关资源
    最近更新 更多