Spass mit Swing und Eclipse

Manchmal ist es zum Verrückt werden. Die abgegebene Programmieraufgabe kam zurück mit dem Hinweis, das das Schließen des Fensters der graphischen Benutzeroberfläche bei jeder Option der Sicherheitsabfrage zum Programmende führt. Ok, der Fehler war recht schnell gefunden.  Für das Hauptfenster (ein JFrame) war als DefaultCloseOperation EXIT_ON_CLOSE eingestellt. Das Überlagern der entsprechenden Methode über einen WindowListener erzeugte zwar einen Dialog, jedoch scheint dann die ursprüngliche Methode wieder aufgerufen worden zu sein, die das Programm beendet hat. Also umgestellt und die Operation auf DO_NOTHING_ON_CLOSE gesetzt. Das Programm verhielt sich hinterher genauso. Hä?
Einige Stunden und etliche Versuche mit dem Hauptfenster später, stellt sich heraus, das der Fehler nicht bei mir lag. Mit einem Testfenster hatte ich nämlich das gleiche Problem. Scheinbar tritt das Problem immer dann auf, wenn der entsprechende Frame einmal mit der Zeile setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) compiliert wurde. Dann läßt sich dieser Wert nicht mehr auf etwas anderes bringen. Ich konnte es mehrfach reproduzieren, indem ich einfach einen Frame zunächst mit “Do-nothing” und anschließend mit “Exit” aufgerufen habe. Stellt man nach dem zweiten Programmaufruf wieder auch “do-nothing” wird die Option nicht mehr geändert.

Ich weiß nicht ob es an Java oder Eclipse liegt. Lösung war jedenfalls: Quelltext kopieren, die Klasse löschen und eine neue Klasse mit gleichem Namen hinzugefügt, in die der alte Quelltext wieder eingefügt wird. Da muß man erstmal darauf kommen.

Kein ähnlichen Artikel.