Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Naja, der ActionListener besitzt ja nur eine Methode. Deswegen wäre es sinnlos, wenn man einen Adapter dafür erzeugen würde. Adapterklassen sind ja an sich nur dafür da, um sich Schreibarbeit zu sparen. Sie implementieren nämlich alle Funktionen leer und bei einer einzigen Methode lohnt das nicht.
es gibt nur Einfachvererbung,
wer z.B. von JFrame erbt, auch wenn das eine zweifelhafte Entscheidung ist, und gleichzeitig die WindowListener-Funktionalität implementieren will, kommt mit WindowAdapter nicht weiter,
@Override ist eine Annotation, die dem Compiler anzeigt, dass der Programmierer eine Methode aus einer Basisklasse überschreiben möchte. Der Compiler prüft daraufhin, ob wirklich die Konventionen der Methode eingehalten wurden.
Gibt es eine Abweichung, gibt der Compiler eine Fehlermeldung bereits beim Kompilieren aus.
Somit kann man also unerwünschtes Verhalten eines Programms zur Laufzeit bzw. Fehler vermeiden, die man u.U. sehr schwer findet, wenn man nicht ausfmerksam die Quellcodes durchgeht.
Die Annotation ist nicht Pflicht, hilft dem Programmierer aber Fehler zu vermeiden bzw. schneller zu finden.
Ohne WindowListener gäbe es keinen WindowAdapter, da dieser den Listener implementiert. Der Adapter "vereinfacht" dem Programmierer den Umgang mit dem Listener, vor allem wenn er nicht alle vom Listener Interface vorgeschriebenen Methoden implementieren will.
Ich verstehe nicht was du willst. Man kann ein Fenster schließen mit dispose()
windowClosed ist einfach nur ein Methodennamen des WindowListeners, was soll man daran schließen?
windowClosed() ist nur eine Methode, die an einem von Java vorgesehenen Zeitpunkt, die von dir dort hinterlassenen Anweisungen in der VM ausgeführt.
Es geht also darum, bestimmten Code zu einem ganz bestimmten Zeitpunkt auszuführen. Wann dieser Code letztendlich ausgeführt wird, bestimmt die VM.
Den Zeitpunkt kannst du aus dem Namen der Methode entnehmen. windowClosing() wird also von der VM aufgerufen, wenn das Fenster gerade geschlossen wird. windowClosed() wird aufgerufen, wenn das Fenster bereits geschlossen ist.
Man kann so also u.a. in der windowClosing()-Methode noch Sachen während des Schließens ausführen lassen. Z.B. abfragen, ob der Benutzer wirklich das Fenster schließen möchte und das Schließen dann auch ggf. abbrechen.
Wenn man das Standardverhalten beim Schließen des Fensters nicht ändern möchte, kann man auch auf den WindowAdapter komplett verzichten und die Swing-Anweisungen zum Schließen von Fenstern verwenden, welche nach dem Instaziieren der Fenster-Klasse (bspw. JFrame) an dem Objekt aufgerufen wird.