title image


Smiley Re: Grafische Oberfläche aktualisieren
Die zeitaufwändigen Vorgänge lässt du eine Instanz von SwingWorker erledigen.

Die Klasse gibts auf den Seiten von Sun zum Runterladen.

Dieser Thread ruft dann die statische Methode SwingUtilities.invokeLater(Runnable) oder SwingUtilities.invokeAndWait(Runnable) auf, um auf die GUI zuzugreifen und dort z.B. eine Ausgabe zu tätigen. die Klasse SwingUtilities ist im JDK enthalten.



Hinweis am Rande: Swing ist nicht synchronisiert d.h. wenn mehrere Thread gleichzeitig auf die GUI zugreifen, geht das schief. Das ist der Grund dafür, dass solche Zugriffe nur vom sogenannten AWT dispatcher thread durchgeführt werden dürfen. Genau das passiert beim Aufruf der invokeLater-Methode. Es wird der Aufruf in eine Warteschlange gestellt, die von dem eben genannten Thread abgearbeitet wird. Bevor du Swing mit mehreren Threads benutzt, google mal nach "single thread rule" und arbeite dich in die Thematik ein.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: