Teile des GUI verschwinden

Ned Nederlander

Aktives Mitglied
Hallo miteinander,
ich hab ein komisches Problem mit meinem GUI.

In meinem Programm lade ich ein Array von TextPanes in ein Panel ein und wende verschiedene Operationen darauf an. Leider ist es so, dass wenn der Text eine gewisse Größe überschreitet, ich seltsame Grafikfehler bekomme, wenn ich diese Operationen ausführe. Zum Teil verschwinden ganze Teile des GUIs, manchmal ist das Bild seltsam verzerrt. Wenn ich aber die Fenstergröße kurz ändere, sieht man wieder alles.

Ist das ein bekanntes Problem? Gibts dafür eine Lösung?


Vielen Dank!
 
also ich kenn das so, dass wenn man das Fenster kurz auf zieht und es passt wieder/Komponenten werden angezeigt, dann fehlt irgendwo nen validate(),.... zum Anpassen,.... ansonsten wäre Code nicht schlecht^^
 
die textpanes sind in einem gridlayout.

die operationen sind einfach auf buttons gelegt. mit denen werden teile aus den textpanes kopiert und markiert.

code ist ein bischen schwierig, das ist sehr viel, und solange ich das problem nicht lokalisiert habe kann ich schlecht den ganzen code posten.
 
Hallo Ned,
Ich würde ebenfalls auf ein fehlendes validate() oder repaint() tippen. Ohne Code kann man den genauen Fehler aber nur raten. Versuch doch mal ein Minimalbeispiel zu basteln (nur die relevanten Teile deines Codes) und hier zu posten. Du könntest zB die Operationen posten die das Problem verursachen (denn vermutlich liegt hier der Fehler :shock🙂
 
ein validate() ist nur notwendig, wenn zur Laufzeit das Layout verändert wurde, also Komponenten hinzugefügt oder gelöscht wurden. Mit repaint() äussert man den Wunsch gegenüber der VM, dass die entsprechende Komponente möglichst neu gezeichnet werden soll.

Aber so wie ich Dich verstanden habe, nimmst Du nur Änderungen innerhalb der TextPanes vor. Da ist ein validate() unnötig und ob ein repaint() auf die TextPanes was bringt...

Wird der Text in den TextPanes speziell formatiert dargestellt? Ich vermute, dass darin eher das Problem liegt, zumal nach Deiner Beschreibung das Auftreten des Problems vom Umfang des Textes abhangt. Eventuell hilft es auch etwas Teile des Codes - sofern möglich - aus dem EDT in einen separaten Thread auszulagern. Dazu musste man aber doch genauer wissen was da konkret passiert bzw. wie der Code ausschaut.
 
also der text enthält steuerzeichen (#), die angeben, wann ein textpane gefüllt werden soll.

der text wird mit buttons weiterverarbeitet. ich kann textausschnitte markieren und dann mithilfe von buttons in arrays abspeichern usw. ich kann auch highlights im text hinzufügen. und dabei treten dann diese fehler auf.

was ich nicht verstehe ist, dass es bei nur wenigen funktioniert. sobald es mehr werden (ca. 20), spinnt das programm.
 

Zurück
Oben