automatisches neuzeichnen verhindern

videlius

Mitglied
Hallo,

ich schreibe gerade an einem kleinen Programm. Auf einem JPanel sind mittels Flowlayout 100 Labels in Matrixform (also 10x10) angeordnet. Alle Labels sind initial auf "0" gesetzt. In sehr schneller Reihenfolge wird immer eines dieser Labels per Zufall auf 1 gesetzt, zusätzlich wird noch der Hintergrund des Labels grün gefärbt.

Mein Problem ist jetzt, dass die Matrix extrem stark flackert, weil wahrscheinlich bei jedem Durchlauf das Panel neugezeichnet wird, und mit ihm alle 100 Labels gleich mit. Es muss aber nur jeweils ein Label neu gezeichnet werden.

Kann man das automatische neuzeichnen irgendwie verhindern und es nur für das eine Label explizit anstoßen, oder wäre viell. ein eigener Thread gut, der sich nur um das Zeichnen des Panels kümmert? Da würde man sich aber wahrscheinlich wieder Synchronistionsprobleme mit dem AWT-Thread einfangen.
 
mittels Flowlayout 100 Labels in Matrixform (also 10x10) angeordnet
Für eine Matrix würde sich doch eher das GridLayout eignen?

"Flackern" heißt es flackert an Stellen die sich nicht geändert haben? Normalerweise wird nur das Label neu gezeichnet, das sich geändert hat.
Wie hast Du das ganze implementiert. Kann hier bei mir ein solches Problem nicht nachvollziehen.

Bei 100 Labels mag das so auch noch in Ordnung sein. Aber grundsätzlich könnte man sich überlegen, ob man das ganze nicht selbst zeichnen sollte.
 

Zurück
Oben