Я хочу обрабатывать события этапа (т.е. скрывать) из моего класса контроллера. Поэтому мне нужно только добавить слушателя через
((Stage)myPane.getScene().getWindow()).setOn*whatIwant*(...);
но проблема в том, что инициализация начинается сразу после
Parent root = FXMLLoader.load(getClass().getResource("MyGui.fxml"));
и до
Scene scene = new Scene(root);
stage.setScene(scene);
таким образом .getScene() возвращает null.
Единственное обходное решение, которое я нашел сам, состоит в том, чтобы добавить слушателя к myPane.sceneProperty(), и когда он станет не null, я получаю сцену, добавляю к ней .windowProperty() my! черт! обработчик слушателя, который я, наконец, извлекаю. И все это заканчивается настройкой желаемых слушателей на сценические события. Я думаю, что слишком много слушателей. Это единственный способ решить мою проблему?