Как я могу открыть новое окно в javafx с метками, текстовыми полями и т. Д.? - PullRequest
0 голосов
/ 21 апреля 2019

Я новичок в 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);
    }
}

При каждом запуске кода окна пустые.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...