GUI Ausgaben aus Threads

Jw456

Top Contributor
@kneitzel i
Ist es in Desktop Java möglich Bildschirmausgaben im Thread zumachen?

Ich denke auf der Konsole geht das,
aber wie ist das in einer GUI geht das da auch oder muss ich da in den UI.
 
K

kneitzel

Gast
@kneitzel i
Ist es in Desktop Java möglich Bildschirmausgaben im Thread zumachen?

Ich denke auf der Konsole geht das,
aber wie ist das in einer GUI geht das da auch oder muss ich da in den UI.
Das kommt ggf, auf die Sichtweise an. Ich würde sagen: Nein. Die UI Elemente in Swing und FX sind nicht threadsicher und sollten daher immer nur aus dem entsprechenden UI Thread heraus angepasst werden. Daher gibt es in den Frameworks entsprechende Hilfsmittel, Dinge in den UI Thread zu verlagern (Platform.runLater in FX und SwingUtilities.invokeLater in Swing).

Damit wird die eigentliche Ausgabe (also die Anpassung der UI) immer im UI Thread durchgeführt.
 

Jw456

Top Contributor
OK danke erstmal, dachte ich mir auch so, das die meisten GUIs SingleThread sind. Zu mindestens die Ausgabe dann in UI erfolgen muss, ist in Android ja auch so.

Die Frage viel mir nur bei der Gelegenheit ein danke für die Antwort.
Gerne wieder zurück zum Thread Thema.
 
K

kneitzel

Gast
Vielleicht noch zum Thema "Sichtweise" und wo man das ggf. anders sehen könnte: Es gibt in der Regel bei den meisten UI Frameworks eine Klasse, die dann Worker, BackgroundWorker, ... heißt und die sowas mit abdeckt. Ein Beispiel ist da z.B. SwingWorker bei Swing - die Klasse bietet Möglichkeiten, daten an die UI zu geben (publish) und Daten zur weiteren Verarbeitung von der UI zu bekommen (process).
Damit sieht man von den anderen Threads nicht wirklich etwas, aber im Hintergrund findet das natürlich alles statt. Jetzt ist die Frage, ob der Aufruf von publish(T...) aus dem Workerthread schon als Ausgabe angesehen wird. Dann wäre das eine Ausgabe aus dem anderen Thread. Aber da intern in den EDT gewechselt wird, ist wieder die Ausgabe / Veränderung der Oberfläche im EDT.
 

Jw456

Top Contributor
Ja das ist im Grunde das Handler Prinzip. Wollte da jetzt nicht in die tiefe gehen wenn ich das brauche mache ich einen Thread auf. Möchte den TE hier nicht zu sehr belasten.
 

Jw456

Top Contributor
In Android gibt es dafür Handler die im UI Laufen. An denen auch Daten aus den Thread Übergeben werden können , während er weiter läuft, damit man sie zb auf dem auf dem Bildschirm anzeigen lassen kann.

Dachte so etwas gäbe bei Desktop Java auch.
 

mrBrown

Super-Moderator
Mitarbeiter
In eigentlich allen Desktop-Frameworks übergibt man ein Runnable (oder was analoges) an den GUI-Thread, und der führt es dann aus. Unter Android wird das ähnlich laufen.
 

mrBrown

Super-Moderator
Mitarbeiter
Dann schaue runOnUIThread das ist ein Runnabell .
Ja, das ist ja auch genau das, was ich sagte: "man [übergibt] ein Runnable (oder was analoges) an den GUI-Thread, und der führt es dann aus" :)

Ich war nur etwas irritiert von der Benennung als "Handler Prinzip" (Event-Handler sind im GUI-Kontext ja auch völlig üblich, aber etwas völlig anderes).
 

Jw456

Top Contributor
Noch mal Handler gibt es auch und die laufen etwas anders. änlich dem schon gesagten.

Wenn es für dich besser ist Event-Handler
 

Jw456

Top Contributor
Was allerdings nichts mir Threads zu tun hat, worum es ja eigentlich ging.
@mrBrown Das ein Handler kein Thread ist, ist klar. Es ging um das Thema ob und wie es möglich ist in einer GUI in einem Thread direkt ohne Umwege Runnabel, Handler ... eine Bildschirm Ausgabe zumachen.

Irgendwie kommst du etwas vom Hauptthema ab.

Für mich ist das Thema beendet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Threads Ausgaben in GUI anzeigen lassen AWT, Swing, JavaFX & SWT 14
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
oliver1974 Nimbus Look & Feel und die Ausgaben nach Standardaus. AWT, Swing, JavaFX & SWT 4
S Ausgaben in Fenster AWT, Swing, JavaFX & SWT 9
frager2345 Threads -> Ereignisbehandlung AWT, Swing, JavaFX & SWT 2
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
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
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
F Swing Anfängerproblem Threads AWT, Swing, JavaFX & SWT 6
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