Swing Anfängerproblem Threads

Status
Nicht offen für weitere Antworten.
F

Fremdling

Gast
Grüß Gott!

Leider muß ich Euch mit einem wohl ziemlich simplen Problem belästigen,
aber ich komme beim besten Willen auf kein Ergebnis - auch mit Google nicht.
Leider bin ich des Englischen nicht so mächtig, weshalb mir div. Hilfen über
Threads keine Klarheit bringen konnten.

Aufbau:
- JFrame wird ohne jede Besonderheit von Hauptanwendung geöffnet.
- Eine über eine Funktion ausgegebene JTextArea als Attribut der Fenster-Klasse.
- Eine actionPerformed Funktion für den Klick auf den Button.

Die actionPerformed ruft eine ziemlich zeitaufwändige Funktion auf, in welcher
immer wieder JTextArea.append aufgerufen wird - nur leider erst am Ende
aktualisiert wird.

Ich habe es schon an den unterschiedlichsten Stellen mit Threads oder auch
repaint() versucht, bin mir aber nicht ganz im klaren, was für was zuständig
ist und wo es hingehört.


Würde mich wahnsinnig über einen Gedankenanstoß freuen, muß auch nicht gleich
die komplette Lösung sein - eigentlich bin ich nicht so begriffsstutzig ;)
 
F

Fremdling

Gast
@arthur177: Gut, dann nochmal in Kurzfassung:

Bestand: JFrame mit JTextArea. Schleife, welche an JTextArea append'et.

Problem: JTextArea stellt neuen Text erst am Ende der Schleife da.
Schlußfolgerung: Swing's Neuzeichnen scheint hinter der Schleife anzustehen.

Frage: Wie bekomme den Text angezeigt, bevor die nächste Schleifenrunde beginnt.

@SlaterB: Da war ich auch schon, habe auch schon um jede einzelne Zeile den
invokeLater-Block rumgehauen, aber es ändert sich nichts.

Falls der Aufbau/das Problem nicht deutlich werden sollte, kann ich nochmal den Code
posten, der ist allerdings doch recht lang und verzweigt, das zusammenstutzen würde bisschen dauern..
 
F

Fremdling

Gast
Irghs, entschuldigt bitte den Doppelpost, werde mich gleich mal registrieren müssen,
aber bevor sich jemand die Finger wundtippt, noch eine kleine, aber vll. wichtige Sache:

Habe gerade gelesen, daß actionPerformed automatisch im richtigen Thread läuft, was mich
nun umso mehr verwundert, warum es nicht läuft. Hier der grobe Aufbau:

Java:
public class Gui extends (JFrame-Extension mit ActionListener-Implementation) {

	private JTextArea log;

	public Gui(...) {
		super(...);
                          addButton("Los gehts"); // Fügt dem Button actionListener(this) hinzu
                          log = addTextarea(...);
	}
	
	public void addLog(String text){
		log.append(test);
	}
	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		class.function(); // führt Gui.addLog(text); aus
	}

}

Der .append'ete Text wird erst nach der kompletten class.function(); angezeigt.
 
F

Fremdling

Gast
Nun der letzte Doppelpost, dann halte ich mein loses Mundwerk :)

Java:
public void actionPerformed(ActionEvent arg0) {
		new Thread(new Runnable(){
			public void run(){
				class.function();
			}
		}).start();
	}

hat das Problem nun gelöst - ohne weitere Swing-Komponente.
Ist das der Weg, auf welchem man solch ein Problem löst, oder hätte
ich das eleganter machen können/sollen?

Darauf müsst Ihr nicht mehr antworten, habe schon genug gestört.

Bin auf jeden Fall sehr froh, daß nun alles funktioniert, vielen Dank :)
 
S

SlaterB

Gast
so steht es doch als erstes Codebeispiel in dem von mir verlinkten Lehrbuch..
Java:
ActionListener al = new ActionListener() { 
  public void actionPerformed( ActionEvent e ) { 
    new Thread( new ReaderThread(e.getActionCommand()) ).start(); 
  } 
};
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Anfängerproblem mit Textfeld AWT, Swing, JavaFX & SWT 6
frager2345 Threads -> Ereignisbehandlung AWT, Swing, JavaFX & SWT 2
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
J GUI Ausgaben aus Threads AWT, Swing, JavaFX & SWT 13
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
N JavaFX Logging des JavaFX Application Threads mit Log4J AWT, Swing, JavaFX & SWT 3
U JAVAFX observer und threads AWT, Swing, JavaFX & SWT 1
J Textlabel verändern mit parallelen Threads AWT, Swing, JavaFX & SWT 7
Sugan Inhalte mit Threads ändern -> java.lang.IllegalStateException AWT, Swing, JavaFX & SWT 6
R Straßenkreuzung - Ampeln mit Threads koordinieren AWT, Swing, JavaFX & SWT 5
C Threads Swing AWT, Swing, JavaFX & SWT 11
Z JavaFX Threads AWT, Swing, JavaFX & SWT 4
T hallo, habe ein Problem mit dem pro. eines Threads AWT, Swing, JavaFX & SWT 4
M Threads - nicht erklärbare Exception AWT, Swing, JavaFX & SWT 6
R Repaint() in Schleifen, Threads AWT, Swing, JavaFX & SWT 13
S Java Swing GUI mit MVC und Threads AWT, Swing, JavaFX & SWT 6
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
K Threads - Timer - run() mehrfach parallel? AWT, Swing, JavaFX & SWT 2
B GUI mit Threads aufbauen AWT, Swing, JavaFX & SWT 5
E Threads Ausgaben in GUI anzeigen lassen AWT, Swing, JavaFX & SWT 14
P JavaFX 2 (2.1 Beta) Threads AWT, Swing, JavaFX & SWT 7
B Threads in Swing AWT, Swing, JavaFX & SWT 4
M Problem mit Threads AWT, Swing, JavaFX & SWT 64
R Swing Java Swing Gui und nebenläufige Threads AWT, Swing, JavaFX & SWT 4
S Swing Threads Windows 7 64 bit AWT, Swing, JavaFX & SWT 12
J Threads + JFrame AWT, Swing, JavaFX & SWT 4
R Java threads und synchronized AWT, Swing, JavaFX & SWT 15
R Swing Swing und die Threads AWT, Swing, JavaFX & SWT 9
N Swing Threads sollen Tabtitel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 4
S Gui und Aufgaben Threads AWT, Swing, JavaFX & SWT 12
M Zugriff paralleler Threads auf selbes JTextPane AWT, Swing, JavaFX & SWT 6
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
M Prioritäten bei SwingWorker / Threads AWT, Swing, JavaFX & SWT 9
B Swing GUI und Threads AWT, Swing, JavaFX & SWT 4
R Korrektes manipulieren der GUI aus anderen Threads heraus AWT, Swing, JavaFX & SWT 19
S Threads und Layout AWT, Swing, JavaFX & SWT 9
S Threads in einen Frame zeichnen lassen (Paint()?!) AWT, Swing, JavaFX & SWT 5
W GUI in mehreren Threads AWT, Swing, JavaFX & SWT 5
S Swing Threads und das Ändern des Hintergrundes ... AWT, Swing, JavaFX & SWT 2
S Zeichnen in Threads AWT, Swing, JavaFX & SWT 4
T Auf Ende von mehreren Threads warten, ohne den EDT zu blockieren AWT, Swing, JavaFX & SWT 1
J SWT SWT und Threads AWT, Swing, JavaFX & SWT 5
borobudur SWT SWT-Framework und Threads AWT, Swing, JavaFX & SWT 12
W Threads nacheinander aufführen AWT, Swing, JavaFX & SWT 5
A Swing und Threads AWT, Swing, JavaFX & SWT 8
B JProgressbar wird nicht aktualisert, trotz Threads AWT, Swing, JavaFX & SWT 6
K Timer und Threads ruckeln für Fotoschwenk AWT, Swing, JavaFX & SWT 3
S JProgressBar und Threads AWT, Swing, JavaFX & SWT 11
G Probleme mit jList und Threads. AWT, Swing, JavaFX & SWT 3
R Swing & Threads AWT, Swing, JavaFX & SWT 4
R 2 Threads nacheinander. Einer terminiert, der andere nicht. AWT, Swing, JavaFX & SWT 9
J Unterschied zwischen SwingWorker und Threads AWT, Swing, JavaFX & SWT 4
P Threads und Swing bzw. AWT AWT, Swing, JavaFX & SWT 15
W Threads und trotzdem keine Nebenläufigkeit AWT, Swing, JavaFX & SWT 13
G Fenster erst nach Stoppen des Threads anzeigen AWT, Swing, JavaFX & SWT 3
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
G problem mit threads/repaint ! AWT, Swing, JavaFX & SWT 2
W Swing, 2 JProgressbars und threads geht das? AWT, Swing, JavaFX & SWT 2
A JTextArea und Threads AWT, Swing, JavaFX & SWT 9
B Probleme mit GUI und Threads AWT, Swing, JavaFX & SWT 17
E repaint(), EDT-Warteschlange und Threads AWT, Swing, JavaFX & SWT 26
S Threads in Java AWT, Swing, JavaFX & SWT 22
G AWT + Threads = nicht gut :P AWT, Swing, JavaFX & SWT 6
F Verständis Problem zu Threads AWT, Swing, JavaFX & SWT 2
M Swinganwendung Threads mit JProgressBar AWT, Swing, JavaFX & SWT 7
V Problem mit Aktualisieren von JList mit Threads AWT, Swing, JavaFX & SWT 3
U FileChooser Layout - Threads? AWT, Swing, JavaFX & SWT 17
R JProgressBar ohne Threads verwenden AWT, Swing, JavaFX & SWT 6
I JList, AbstractListModel und nebenläufige Threads AWT, Swing, JavaFX & SWT 2
S "Millionen" von Threads? Programm komplett beenden AWT, Swing, JavaFX & SWT 2
M Konsolenprg-Ausgabe in GUI geleitet - Brauche ich Threads? AWT, Swing, JavaFX & SWT 2
K Swing und Threads AWT, Swing, JavaFX & SWT 11
M Threads in Swing? AWT, Swing, JavaFX & SWT 2
C Schweres Problem mit JDialog und Threads! Anzeige blockiert! AWT, Swing, JavaFX & SWT 5
N Netzwerk-Applikation, SWT und Threads AWT, Swing, JavaFX & SWT 4
R createBufferStrategy() und Threads AWT, Swing, JavaFX & SWT 5
D Threads unter JFrame AWT, Swing, JavaFX & SWT 2
G Nochmal Threads und Einfrieren des GUI :( AWT, Swing, JavaFX & SWT 10
V Swing & Threads ??? AWT, Swing, JavaFX & SWT 3
D Problem mit JProgressBar und Threads AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben