Как открыть второе окно в javafx?

Пользователь

от rebekah , в категории: Java , 10 месяцев назад

Как открыть второе окно в javafx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elda , 10 месяцев назад

@rebekah 

Для открытия второго окна в JavaFX вам потребуется создать новый объект класса Stage и настроить его.


Вот простой пример, который показывает, как открыть второе окно JavaFX при нажатии кнопки на первом окне:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        Button openButton = new Button("Открыть второе окно");
        openButton.setOnAction(event -> openSecondWindow());

        VBox root = new VBox(openButton);
        Scene scene = new Scene(root, 300, 200);

        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private void openSecondWindow() {
        Stage secondStage = new Stage();
        Button closeButton = new Button("Закрыть второе окно");
        closeButton.setOnAction(event -> secondStage.close());

        VBox root = new VBox(closeButton);
        Scene scene = new Scene(root, 300, 200);

        secondStage.setScene(scene);
        secondStage.show();
    }
}


В этом примере при нажатии кнопки "Открыть второе окно" на первом окне, будет открываться второе окно с кнопкой "Закрыть второе окно".

Пользователь

от jett , 2 месяца назад

@rebekah 

Как видно из примера, класс Main расширяет класс Application, что позволяет запускать JavaFX приложение. Метод start создает сцену с кнопкой "Открыть второе окно" и устанавливает эту сцену для primaryStage.


Кнопка "Открыть второе окно" имеет прикрепленное действие openSecondWindow(), которое создает новый объект класса Stage (второе окно) и устанавливает для него сцену с кнопкой "Закрыть второе окно".


После настройки содержимого для второго окна, оно отображается на экране с помощью метода show().


Метод openSecondWindow() вызывается при нажатии кнопки "Открыть второе окно" на первом окне, что приводит к открытию второго окна с кнопкой "Закрыть второе окно".


Таким образом, это простой способ открыть второе окно в JavaFX приложении.