У меня есть сцена, которая загружена, и я загружаю другую сцену из существующей сцены.
После загрузки новой сцены у меня был какой-то другой код, который я хотел выполнить (отправка некоторых данных в шину событий).
Вот код:
stage.close();
home.start(stage);
System.out.println("How does the code get here?");
EventBus.getDefault().post(new LoginEvent(...);
Я понимаю, как функционирует строка 1,2. Однако после второй строки я подумал, что используемый в настоящее время класс контроллера перестает работать, когда новая сцена вступает во владение. Может кто-нибудь объяснить, как и новая сцена запускается, и код продолжается до оператора print?
Означает ли это, что, хотя я закрыл текущую сцену, настоящий контроллер все еще используется?
Edit 1: home
- это класс, который содержит метод для новой сцены и запускает новое окно. stage
- это button.getScene().getWindow()
, где кнопка - это кнопка, которую пользователь нажимает, чтобы начать новую сцену.
Редактировать 2: Мой вопрос не является дубликатом связанного, потому что у меня был вопрос о том, как код продолжается, и поток не был заблокирован. Я думал о классе графического интерфейса другой. Однако ответ Фабиана прояснил мое замешательство.
Спасибо!