如何在不带GUI构建器,FXML,swing或awt的JavaFx中创建打开另一个窗口的按钮?

我需要创建一个按钮来在java fx中打开一个窗口。不摇摆。没有fxml。

A。你可以有多个舞台吗?我认为不是,但是我看到一个网站在说其他话。

B。我必须使按钮创建一个扩展应用程序的类,重写start()...

我看了以下都无济于事。我看了很多东西,我只是不明白那里有什么或如何实现它。如何修改我的代码以使其正常工作?

https://o7planning.org/en/11533/opening-a-new-window-in-javafx
https://coderanch.com/t/663804/java/call-window-click-button-current
https://o7planning.org/en/11533/opening-a-new-window-in-javafx

Button to push new customers onto queue. Opens a new popu window (stage) to enter customer information.

        btSave.setText("Add");
        btSave.setOnaction(new EventHandler<actionEvent>() {
            @Override
            public void handle(actionEvent event) {                

                //SCENE 3 OF 3: ADD SCENE,Pane & Nodes
                GridPane addPane = new GridPane();

                //add nodes
                addPane.add(new Label("Customer Name"),1,1);
                addPane.add(tfName,2);
                addPane.add(new Label("Size of Party"),3);
                addPane.add(tfParty,4);
                addPane.add(new Label("Customer Phone Number"),5);
                addPane.add(tfPhone,6);
                addPane.add(btSave,7);

                Scene addScene = new Scene(addPane,300,250);
                primaryStage.setTitle("Add Customer to Queue");
                primaryStage.setScene(addScene);
                primaryStage.show();

    //                Customer cust = new Customer();
    //                cust.name = tfName.getText();
    //                cust.party = Integer.parseInt(tfParty.getText());
    //                cust.phone = Integer.parseInt(tfPhone.getText()); 
    //                qLine.offer(cust);
                }
            });

I would like the button to show "Add" and would like it to open a new window when clicked.
gongshaobo 回答:如何在不带GUI构建器,FXML,swing或awt的JavaFx中创建打开另一个窗口的按钮?

如果您要打开一个新舞台,下面的代码可能会对您有所帮助。

Button btSave = new Button();
btSave.setText("Add");
btSave.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {                

        //SCENE 3 OF 3: ADD SCENE,Pane & Nodes
        GridPane addPane = new GridPane();

        //add nodes
        addPane.add(new Label("Customer Name"),1,1);
        addPane.add(tfName,2);
        addPane.add(new Label("Size of Party"),3);
        addPane.add(tfParty,4);
        addPane.add(new Label("Customer Phone Number"),5);
        addPane.add(tfPhone,6);
        addPane.add(btSave,7);

        Stage addStage = new Stage();
        Scene addScene = new Scene(addPane,300,250);
        addStage.setTitle("Add Customer to Queue");
        addStage.setScene(addScene);
        addStage.show();
    }
});
本文链接:https://www.f2er.com/3147568.html

大家都在问