Arbeit mit Swing und TGASwingUtil
Die Arbeit mit Java Swing setzt voraus, dass Manipulationen an Swing-Objekten
stets nur auf einem einzigen Thread, dem Event Dispatch Thread
(EDT), durchgeführt werden. Um dies zu unterstützen bietet
Java die Klasse SwingUtilities
an. Sie enthält verschiedene
Methoden, mit deren Hilfe die Ausführung von Code auf den EDT verlagert werden kann.
Zu Problemen kann es jedoch in solchen Umgebungen kommen, in denen mehr als ein EDT
vorhanden ist.[53]
Um auch in solchen Anwendungsfällen sicherzustellen, dass zur Ausführung der
korrekte EDT verwendet wird, existiert in jadice die Klasse
TGASwingUtil
. Sie bietet verschiedene Methodenaufrufe, die jene in
SwingUtilities
durch eine angepasste Variante ersetzen.
Wir empfehlen zur Bearbeitung von Swing Komponenten konsequent die Klasse
TGASwingUtil
zu nutzen. In Umgebungen mit mehr als einem Event Dispatch Thread
ist die konsequente Verwendung von TGASwingUtil
zwingend notwendig um die
korrekte Lauffähigkeit zu gewährleisten.