J
Jack Gruber
Gast
Hallo allerseits,
ich bin neu hier und habe ein kleines Problem. Ich weiß jetzt nicht, ob es ein Bug ist, oder ob ich einfach nur schlampig programmiert habe. Ich schildere einfach mal mein Problem:
Ich habe eine GUI-Applikation geschrieben. Das Hauptprogramm ist eine Unterklasse von JFrame und reagiert auf mehrere Buttons etc. Drücke ich einen bestimmten Button, dann wird ein Timer (Unterklasse von Thread) gestartet, der alle 20 Minuten eine Methode des Hauptprogramms (JFrame) aufruft. In dieser Methode passieren verschiedene Sachen, bei denen eigene Exceptions auftreten können (diese fange ich dann auch gleich in der Methode ab). Tritt jetzt eine Exception auf, möchte ich einen modalen Dialog öffnen, der eine Warnung anzeigt.
Ich habe alles wie oben beschrieben implementiert (der Timer kann auch nur einmal gestartet werden). Bevor der Dialog erscheint wird der Timer gestoppt (mit thread.interrupt). Jetzt passiert allerdings in 10% der Fälle, wenn der Dialog erscheint, dass ein java.lang.Error auftritt. Und zwar ist von einem readLock in einem AbstracDocument die Rede. Irgendwie habe ich das Ganze dann auf die JTextPane zurückgeführt, die in dem modalen Dialog platziert war (dort sollte eine mehrzeiliger Text angezeigt werden).
Ich habe dann die JTextPane durch mehrere JLabels ersetzt und jetzt scheint es ohne Probleme zu funktionieren. Der Fehler ist seit dem nicht wieder aufgetreten.
Ist das ein bekannter oder unbekannter Bug? Oder habe ich das ganz unsauber oder unlogisch programmiert?
ich bin neu hier und habe ein kleines Problem. Ich weiß jetzt nicht, ob es ein Bug ist, oder ob ich einfach nur schlampig programmiert habe. Ich schildere einfach mal mein Problem:
Ich habe eine GUI-Applikation geschrieben. Das Hauptprogramm ist eine Unterklasse von JFrame und reagiert auf mehrere Buttons etc. Drücke ich einen bestimmten Button, dann wird ein Timer (Unterklasse von Thread) gestartet, der alle 20 Minuten eine Methode des Hauptprogramms (JFrame) aufruft. In dieser Methode passieren verschiedene Sachen, bei denen eigene Exceptions auftreten können (diese fange ich dann auch gleich in der Methode ab). Tritt jetzt eine Exception auf, möchte ich einen modalen Dialog öffnen, der eine Warnung anzeigt.
Ich habe alles wie oben beschrieben implementiert (der Timer kann auch nur einmal gestartet werden). Bevor der Dialog erscheint wird der Timer gestoppt (mit thread.interrupt). Jetzt passiert allerdings in 10% der Fälle, wenn der Dialog erscheint, dass ein java.lang.Error auftritt. Und zwar ist von einem readLock in einem AbstracDocument die Rede. Irgendwie habe ich das Ganze dann auf die JTextPane zurückgeführt, die in dem modalen Dialog platziert war (dort sollte eine mehrzeiliger Text angezeigt werden).
Ich habe dann die JTextPane durch mehrere JLabels ersetzt und jetzt scheint es ohne Probleme zu funktionieren. Der Fehler ist seit dem nicht wieder aufgetreten.
Ist das ein bekannter oder unbekannter Bug? Oder habe ich das ganz unsauber oder unlogisch programmiert?