Beim Beenden eines JavaFX-Programms überschreibe ich Application.stop (), um nach nicht gespeicherten Änderungen zu suchen. Dies funktioniert in Ordnung, aber es wäre schön, dem Benutzer die Möglichkeit zu geben, den Vorgang abzubrechen.
Application.stop () ist Last-Chance-Saloon mit anderen Worten, obwohl es den Ausgang abfängt, ist es ein bisschen spät, den Exit-Prozess zu widerrufen.
Besser ist es, einen Listener für die Close-Anforderung zu setzen, die durch den Verzehr des Events abgebrochen werden kann.
In der Anwendungsklasse:
%Vor% und dann im Anwendungscontroller, auf den als appCtrl
über:
noting: mainAppPane wird in der FXML (mit dem JavaFX Scene Builder in diesem Fall) referenziert, um den Zugriff auf die Szene und das Fenster zu ermöglichen; Der Dialog ist eine Erweiterung von Ссылка und fileSave ist der Event-Handler für File - & gt; Menüpunkt speichern Für die Datei - & gt; Menüpunkt verlassen:
%Vor%Hoffe das hilft jemandem!