ausführen Ich mache ein verteiltes paralleles Spiel online mit Java und Swing. Ich möchte das Symbol des Spielers aus der Spielzone entfernen, wenn der Benutzer [x] drückt, um das Fenster zu schließen. Wie kann ich der VM sagen, eine Funktion auszuführen, bevor der Prozess beendet wird?Code beim Drücken auf [x]
Antwort
Vorausgesetzt Sie haben eine JFrame
verwenden, stellen Sie die Standardschließungsoperation tun DO_NOTHING_ON_CLOSE
und fügen Sie einen WindowListener
auf windowClosing
zu reagieren.
Diese Methode kann tun, was immer benötigt wird und dann nur dispose
das Fenster, um es tatsächlich zu schließen.
Hinweis: Dies kann auch den Benutzer fragen, verwendet werden, wenn sie/er wirklich beenden will ...
Wenn Sie eine JFrame verwenden, denke ich, sollten Sie besser Ihre eigenen KeyEventDispatcher schreiben wie beschrieben in that post: Unresponsive KeyListener for JFrame Wenn Sie nur einen KeyListener zu einem JFrame hinzufügen und wenn Sie auswählbare Komponenten darauf platziert haben, müssen Sie den Listener zu all diesen Komponenten hinzufügen, vermutlich rekursiv.
Sie können dann erkennen, wenn jemand x drückt und dann die Dispose-Funktion des JFrame aufruft. Wenn Sie Ihrem JFrame auch einen WindowListener hinzufügen, können Sie Code in die windowClosing-Methode einfügen, die vor dem Schließen des Frames aufgerufen wird.
- 1. Git print X wie Muster beim Drücken
- 2. javafx.scene.control.Dialog <R> schließt nicht beim Drücken von "x"
- 3. HTML-Submit-Button führt PHP-Code nicht beim Drücken
- 4. Git-Fehler beim Drücken auf GitHub
- 5. Python aws Fehler beim Drücken auf Github
- 6. Voreingestellte Objekt-ID beim Drücken auf Firebase
- 7. Sitzungen beim Drücken auf einen Link schließen
- 8. XAML x: Name auf Code
- 9. Visual Studio Code automatisch drücken
- 10. CodePlex TortoiseHG Fehler beim Drücken
- 11. Toggle beim Drücken in checkbox_wrapper
- 12. Win + X, Alt-Tab programmgesteuert drücken
- 13. Ionic Drücken nicht mehr funktioniert 1.x
- 14. Durch Drücken von "x" wird das Programm
- 15. UITextField - Tastatur erscheint beim Drücken
- 16. Android: Tastatur auf Taste drücken drücken
- 17. Fehler beim Drücken zu GitHub
- 18. Aktion beim Drücken der Taste auf bestimmte Zeile in jlist
- 19. Aktualisieren Sitzungsstatus beim Drücken der Taste
- 20. Gamepad Code auf OS X: Buh?
- 21. Android App beim Drücken der Umschalttaste Drücken Sie
- 22. Jekyll-Abhängigkeitsfehler beim Aktualisieren von 2.x auf 3.x
- 23. Choppy Übergang beim Drücken View Controller
- 24. Javascript-Code zum Drücken einer bestimmten Schaltfläche auf einer Webseite
- 25. Laufzeitfehler beim Drücken auf einen Vektor eines Vektors
- 26. Drücken Facebook Taste wie aus dem Code
- 27. iOS - Navigationsleiste Farbübergang beim Drücken Zurück Taste
- 28. Fehler beim Drücken der Rails-App auf Heroku
- 29. Eine Schleife beim Drücken der Taste
- 30. Fehler beim Drücken einer Python-App auf bluemix
Alle Versuche? Irgendein Code, den Sie zur Verfügung stellen können? – AscendedKitten