JavaFX Vor beenden der Anwendung durch klicken von X Dialog zeigen

nieselfriem

Bekanntes Mitglied
Hallo,

ich hatte die Idee, vor beenden der Anwendung einen Dialog anzeigen zu lassen, ob die Anwendung wirklich beendet werden soll. Mein nten stehender Ansatz funktioniert offenbar nicht, da wohl es dann schon zu spät ist.

Mit welchem Event kann ich das abfangen?


primaryStage.setOnCloseRequest(e -> {
String message = "Soll Anwendung beendet werden?";
Alert confInfo = new Alert(Alert.AlertType.CONFIRMATION);
confInfo.setTitle("Bestätigung");
confInfo.setHeaderText(null);
confInfo.setContentText("Soll die Anwendung jetzt beendet werden?");

Optional<ButtonType> result = confInfo.showAndWait();
if (result.get() == ButtonType.OK) {
Platform.exit();
System.exit(0);
}else {
return;
}
});
 
Das Konzept ist ja, dass der Request, das Fenster zu schließen, weiter verarbeitet wird, bis das Event verarbeitet wurde.

Du brauchst also kein Plattform.exit oder System.exit - beides ist ein Zeichen für ein Designfehler!

Alles, was Du machen musst: Wenn Du nicht willst, dass das Fenster geschlossen wird: Ruf e.consume() auf, damit das Event als abgearbeitet gilt.
Das sollte dann schon reichen.
 

Zurück
Oben