Schwingen:recheneffizienteste Methode zum Blinken bestimmter Zellen in einer Tabelle
-
09-12-2019 - |
Frage
Ich brauche eine Möglichkeit, die Aufmerksamkeit auf bestimmte Zellen in einer großen JTable (20x16!) zu lenken, und ich möchte wissen, was nötig wäre, damit der Text blinkt, z. B.900 ms an und 100 ms aus.
(Ich kenne das Konzept von a TableCellRenderer
)
Gibt es eine Möglichkeit, dies nur für die betreffenden Zellen zu tun, ohne dass alle Zellen neu gezeichnet werden?
Lösung
Der erforderliche Arbeitszyklus (900 ms ein, 100 ms aus) und die Anzahl (20 x 16) liegen deutlich im Rahmen der Möglichkeiten JTable
Rendering, das die verwendet Fliegengewichtsmuster für Effizienz.In den seltenen Fällen, in denen es um Profilerstellungsbefehle geht, lesen Sie den Artikel Weihnachtsbaumanwendungen.Siehe auch dies Vergleich mit dem prepareRenderer()
Ansatz.
Nachtrag:Denken Sie auch an a GridLayout
von JLabel
, wobei jede Schaltfläche ihre eigene Instanz von hat javax.swing.Timer
um synchrones Blinken zu vermeiden.Die Timer haben einen gemeinsamen Nenner.