ステージが開始された後に setOnCloseRequest を使用したいのですが、適切なコントローラーを設定してもほとんど NullPointerException が発生します。
メニューアイテムをクリックしてステージを開き、メニューが開いたら閉じるボタンを使用したいと思います。メソッドは、コントローラーが初期化されるまでアクセスしようとしていると思います。
これはコントローラーの私のコードです。
if (KundenDatenController.getInstance() != null) {
((Stage) (KundenDatenController.getInstance().kundenControllerPane.
getScene().getWindow())).setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent t) {
t.consume();
if (generalControler.controlEmptyTextField(pflichtfelder)) {
((Stage) (kundenControllerPane.getScene().getWindow())).close();
} else if (!generalControler.controlEmptyTextField(pflichtfelder)) {
FXOptionPane.showConfirmDialog((Stage) (kundenControllerPane.getScene().getWindow()),
"Sollen die Eingaben wirklich verworfen werden?",
"Programm schliessen");
if (status.equals("Laden")) {
KundenUebersichtController.getInstance().setStatus("Aufnehmen");
}
}
}
});