Hallo zusammen,
ich hab eine Tabelle, mitlerweile auch eigene Renderer und ein eigenes TableModel. Die Tabelle arbeitet sogar schon so, wie ich es gerne möchte, allerdings flackert sie.
Im Renderer verändere ich die Grösse der Zellen, sobald die Tabelle inhaltlich soweit aufgebaut ist, dass sie den sichtbaren Bereich füllt und die nächste Zeile im unsichtbaren Bereich wäre, wird der Inhalt das erste mal gezeichnet. Nachdem nun auch die restlichen Zeilen gezeichnet wären, also durch die Renderer behandelt wurden, wird erst die modifizierte Größe der Zellen berücksichtigt und ein zweites Paint ausgelöst.
=> Es flackert.
An welcher Stelle muss ich ansetzen, um das erste Paint mit den richtigen Ausmaßen ausführen zu lassen und wo, um das zweite zu verhindern, wäre dann ja unnötig.
MfG Sem
Edit 1:
Hm, sollte ich mir evtl auch ein eigenes TableColumnModel machen? Dort wird schliesslich die Information zur Spaltenbreite und -höhe abgelegt, ich vermute mal, dass die Events von dort gefeuert werden.
ich hab eine Tabelle, mitlerweile auch eigene Renderer und ein eigenes TableModel. Die Tabelle arbeitet sogar schon so, wie ich es gerne möchte, allerdings flackert sie.
Im Renderer verändere ich die Grösse der Zellen, sobald die Tabelle inhaltlich soweit aufgebaut ist, dass sie den sichtbaren Bereich füllt und die nächste Zeile im unsichtbaren Bereich wäre, wird der Inhalt das erste mal gezeichnet. Nachdem nun auch die restlichen Zeilen gezeichnet wären, also durch die Renderer behandelt wurden, wird erst die modifizierte Größe der Zellen berücksichtigt und ein zweites Paint ausgelöst.
=> Es flackert.
An welcher Stelle muss ich ansetzen, um das erste Paint mit den richtigen Ausmaßen ausführen zu lassen und wo, um das zweite zu verhindern, wäre dann ja unnötig.
MfG Sem
Edit 1:
Hm, sollte ich mir evtl auch ein eigenes TableColumnModel machen? Dort wird schliesslich die Information zur Spaltenbreite und -höhe abgelegt, ich vermute mal, dass die Events von dort gefeuert werden.