0

ステージが開始された後に 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");
                    }
                }
            }
        });
4

0 に答える 0