如何在javafx中打开带有标签,文本字段等的新窗口?

时间:2019-04-21 06:51:05

标签: javafx

我对javafx还是很陌生,所以如果我的问题不是那么难解决,我深表歉意。

我的任务是创建一个界面,该界面允许我在新窗口中打开带有文本字段和标签的多个窗口。我可以在主窗口中创建按钮,标签等,但似乎找不到在新窗口中创建按钮,标签等的方法。我正在使用网格窗格作为界面。

我已经尝试使用堆栈窗格而不是网格窗格来编写代码,但是由于我是新手,所以不确定如何正确执行它。相反,我尝试将部分代码以堆栈窗格的形式并入,但这也不起作用。尝试在另一个类中使用网格窗格也无法正常工作,而代码根本没有运行。

按钮和代码以创建新窗口

Button btn = new Button("Make Booking");
        HBox hbBtn = new HBox(10);
        hbBtn.setAlignment(Pos.CENTER_LEFT);
        hbBtn.getChildren().add(btn);
        grid.add(hbBtn, 1, 4);

        Text actiontarget = new Text();
        grid.add(actiontarget, 1, 6);

        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent handle) {
                // Instantiate my new window
                MakeBooking mb = new MakeBooking();

                // Make a new Scene and Stage and link them all together
                Scene scene2 = new Scene(mb, 400, 300);
                Stage stage2 = new Stage();
                stage2.setTitle("Make a Booking");
                stage2.setScene(scene2);
                stage2.show();
            }
        });

MakeBooking窗口的单独类

public class MakeBooking extends GridPane {
    public MakeBooking() {
        super();
        Button b = new Button("Test");
        Label label = new Label();
        label.setText("Test");
        Label secondLabel = new Label("I'm a Label on new Window");

        GridPane grid2 = new GridPane();
        grid2.getChildren().add(secondLabel);

        this.setAlignment(Pos.CENTER);
    }
}

每次运行代码时,窗口都是空白的。

谢谢

0 个答案:

没有答案