SwingWorker

S

SwingWorker

Gast
Hallo,

Habe eine GUI die sehr sehr viele Outputs bekommt und anzeigen soll.
Da der EDT nicht zu oft unterbrochen werden darf, habe ich das ganze
in einen SwingWorker ausgelagert:

Java:
outputWorker = new SwingWorker<String, Void>() {
				
	protected String doInBackground() throws Exception {
		String temp = (panels.getTextPanes().getLogOutput().getText() + message);
		return temp;
	}	
				
	protected void done() {
		try {
			panels.getTextPanes().getLogOutput().setText(get());
		} catch (InterruptedException e1) {
			return;
		} catch (ExecutionException e2) {
			return;
		}
	}
};
			
outputWorker.execute();

So weit funktioniert das und meine GUI friert nicht mehr ein ;)

Allerdings wird jetzt ab und zu und unregelmäßig die Ausgabe komplett zurückgesetzt.
Normalerweise möchte ich ja den alten Inhalt + den neuen Inhalt in meine JTextArea
stecken (Die JTextArea bekomme ich über panels.getTextPanes().getLogOutput())
aber irgendwas scheint der SwingWorker hier zu tun das ich nicht weiß.

Weiß es von euch zufällig einer?
 

Marco13

Top Contributor
Mit setText setzt er Text, mit append appendet er :D Im ernst: Wenn man setText aufruft, steht da eben NUR der Text, den DER EINE SwingWorker liefert. Mit append wird das, was der eine SwingWorker liefert an das angehängt, was schon da ist... :bahnhof:
 

Ähnliche Java Themen

Neue Themen


Oben