Aus dem Thread raus Gui-Sachen manipulieren geht bei Swing übrigens ganz ähnlich wie bei SWT - habs eben mal nachgeguckt.
Du machst ne Klasse die "Runnable" implementiert und den Code enthält, den du aus dem nicht-Gui Thread heraus ausführen willst (und der die Gui manipuliert)
Code:
public class Updater implements Runnable {
String wichtigesArgument;
public Updater(String wichtigesArgument) {
this.wichtigesArgument = wichtigesArgument;
}
public void run() {
label.setText(wichtigesArgument);
}
}
dann tust du im Rechnungsthread sowas ausführen:
Code:
Runnable updater = new Updater("mein extrem wichtiger neuer TExt für das Olle label");
EventQueue.invokeLater(updater);
alternativ gibts auch EventQueue.invokeAndWait() - das wartet im Hintergrundthread dann so lange bis der Gui-Thread das Zeugs ausgeführt hat.
MfG Peschmä
Lesezeichen