Как поменять сцену в javafx?

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

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

Как поменять сцену в javafx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от maya , 5 дней назад

@dayna 

В JavaFX существует несколько способов изменения сцены. Рассмотрим два из них:

  1. С использованием класса Scene: Создайте экземпляр класса Scene, указав в конструкторе контейнер, представляющий новую сцену. Parent root = FXMLLoader.load(getClass().getResource("path/to/newScene.fxml")); Scene newScene = new Scene(root); Получите объект класса Stage, представляющий текущую сцену. Stage primaryStage = (Stage) oldScene.getWindow(); Установите новую сцену для данного объекта Stage. primaryStage.setScene(newScene); primaryStage.show();
  2. С использованием класса FXMLLoader: Создайте экземпляр класса FXMLLoader и загрузите новую сцену из файла FXML. FXMLLoader loader = new FXMLLoader(getClass().getResource("path/to/newScene.fxml")); Parent root = loader.load(); Получите объект класса Stage, представляющий текущую сцену. Stage primaryStage = (Stage) oldScene.getWindow(); Установите новую сцену для данного объекта Stage. primaryStage.setScene(new Scene(root)); primaryStage.show();


Обратите внимание, что в обоих случаях необходимо изменить объект Stage, на котором отображается сцена, а не саму сцену. Также убедитесь, что у вас есть доступ к объекту типа Stage или Scene для текущей сцены, чтобы выполнить изменение сцены. В примерах предполагается, что новая сцена представлена объектом типа Parent, загружаемым из файла FXML.