私はポップアップとして新たなステージを開きコントローラがあります。JavaFXのウィンドウ内の「x」ボタン
@FXML
private void onClickPayments(ActionEvent event) throws IOException{
FXMLLoader loader = new FXMLLoader(getClass().getResource("ClientPayments.fxml"));
Parent root = (Parent) loader.load();
ClientPaymentsController controller = (ClientPaymentsController) loader.getController();
Scene scene = new Scene(root);
Stage stage = new Stage();
stage.setScene(scene);
stage.initModality(Modality.APPLICATION_MODAL);
stage.setResizable(false);
stage.setOnCloseRequest((WindowEvent we) -> {
clientBLL.retrieve(clientID);
updateWarning();
});
stage.show();
controller.setClientID(clientID);
}
他のステージは 'で閉じられていますx 'ボタンを押すと、' stage.setOnCloseRequest 'が実行されます。しかし、その段階で、私は閉じるためのボタンがあります。
@FXML
private void onClickExit(ActionEvent event){
((Stage) ((Node) event.getSource()).getScene().getWindow()).close();
}
それは閉じますが、方法「stage.setOnCloseRequestは」実行されていません。
この方法は間違っていますか、ウィンドウの「x」ボタンとまったく同じように動作するようにポップアップを閉じる方法はありますか?