# Swing & Threads ???



## Vatar (13. Nov 2003)

Wie kann ich Swingkomponenten und Threads kombinieren (Swing ist ja nicht Threadsicher)?

Ich mochte eine Hauptklasse schlafen legen, wenn ein bestimmtes Event eintritt und eine Subklasse in einem eigenen Thread weiterlaufen lassen, bis in dieser der OK-Button geklickt wird. Nach klick auf OK soll die Hauptklasse wieder geweckt werden.

Ich habe meine Bücher durchgeblättert und nur die Themen Swing und Threads getrennt gefunden, nie aber wie man beide kombiniert.

Gibt es Tutorials oder hilfreiche Links wo dies erklärt wird?


----------



## gustav (13. Nov 2003)

Wenn Du dich ein wenig mit Thread auskennst sollte es so auch kein Problem sein. Allerdings mußt Du aufpassen, das nur ein Thread mit den Swing Komponenten handiert. 
Also :
Swing Thread starten
Subklasse in Thread starten
Hauptthread starten

Kommunizieren würde ich über eine MessageSchlange, d.h. jeder deiner Threads (ausser Swing) schläft bis eine Nachricht erscheint - am besten über wait/notify.

Ansonsten kann ich Dir http://www.galileocomputing.de/openbook/javainsel/ empfehlen.


----------



## Vatar (13. Nov 2003)

Genauso hab ich das gemacht. 
Das Schlafenlegen des einen Threads funktioniert auch und der Thread der lokalen KLasse wird bearbeitet. Nur das Aufwecken der ersten Threads klappt nicht (keine Exception, er pennt einfach weiter).

Ich habe die Methoden wait und notify (inkusive synchronized-Blocks) verwendet.

Hab vorhin aber erfahren, dass dies bei Swing nur sehr schwierig zu realisieren ist. Es gibt die Methoden invoke... oder so ähnlich um Swingthreads zu verwalten und für dieses Verfahren finde ich keine Anleitung.


----------



## jptc.org (13. Nov 2003)

Schau doch mal unter:

http://www.java-performance-portal.org/article17.html 

nach. es gibt dort einen artikel über swing und threads. vielleicht hilft das ja.

Karsten Voigt
http://www.java-performance-portal.org


----------

