コントローラー クラスからステージ イベント (つまり、非表示) を処理したいと考えています。だから私がしなければならないのは、経由でリスナーを追加することだけです
((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() に私の !goddamn! を追加します。最終的にステージを取得するリスナー処理。最後に、必要なリスナーを設定してイベントをステージングします。聞き手が多すぎると思います。それが私の問題を解決する唯一の方法ですか?