我想在我的舞台开始后使用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");
}
}
}
});