GUI in mehreren Threads

Status
Nicht offen für weitere Antworten.

wakoz

Aktives Mitglied
Hi

Ich möchte wissen ob und (und fals ob) wie man eine GUI in mehreren Threads betreibt.

Also zum beispiel das Laden von JPG´s durch einen eigenen Thread, da dies Performance benötigt. Ich arbeite gerade an einem Program, welches durch zwei aktive GUI komponenten leichte performance probleme bekommt :oops:

Und ich hoffe das ich durch auslagerung in weitere Threads die Performance steigern kann.

MfG
 
G

Gast2

Gast
Deine GUI läuft nur in einem Thread ab, Sachen die du im Hintergrund machen kannst, kannst du in Threads auslagern, aber um etwas von dort in der GUI anzuzeigen musst du dich mit diesem wieder synchronisieren.
Falls du Swing benutzt schau dir die SwingWorker Klasse an.
 

martin82

Mitglied
Deine GUI läuft nur in einem Thread ab, Sachen die du im Hintergrund machen kannst, kannst du in Threads auslagern, aber um etwas von dort in der GUI anzuzeigen musst du dich mit diesem wieder synchronisieren.
Falls du Swing benutzt schau dir die SwingWorker Klasse an.

Wenn im Hintergrund aber der Aufbau von grafischen Komponenten erfolgen soll un dies einige Sekunden dauert? Dann hängt sozusagen das gesamte Programm. Welche Abhilfe könnte man sich da schaffen?
 

hmroessler

Mitglied
Hi,

SirWayne hat aber recht. Auch Sun empfiehlt die GUI-Komponenten von dem GUI-Thread aufbauen zu lassen. Bisher hatte ich auch keine Probleme mit. Und wenn das Aufbauen dann wirklich so lange dauert ist entweder das Bild sehr groß (sinnvoll?) oder es hängt irgendwo anders.

Ich persönlich habe mir eine eigene Implementierung einer SwingWorker Klasse geschrieben (Sun möge mir Verzeihen :D), die Komponentenbasiert und Eventorientiert arbeitet. Das bedeutet, dass sich die GUI-Klasse bei einem Thread als Listener registriert und nach Abarbeitung des Threads per Event/Callback die fertig erzeugte Komponente des Threads erhält (als Parameter für den EventHandler) und der GUI-Thread diese Komponente nur noch hinzufügen muss. Somit hat man das max. Mögliche in dem Thread abgearbeitet, und der GUI-Thread muss wirklich nur noch das nötigste erledigen. Vermutlich wird dir ein ähnlicher Ansatz weiterhelfen.
 

wakoz

Aktives Mitglied
Danke für die Tips, ich kann mich momentan nicht viel damit beschäftigen! Aber werde so bald wie möglich sehen ob mir dies hilft.

Wenn im Hintergrund aber der Aufbau von grafischen Komponenten erfolgen soll un dies einige Sekunden dauert? Dann hängt sozusagen das gesamte Programm. Welche Abhilfe könnte man sich da schaffen?
martin82 beherzige mal den Vorschlag von SirWayne! Ich habe dieses noch nicht ganz getan, aber in Verbindung mit Swingworker soll so was wie du beschreibst nicht eintreffen können. Habe aber das Thema noch nicht ganz durchdrungen :oops:

...
Falls du Swing benutzt schau dir die SwingWorker Klasse an.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Auf Ende von mehreren Threads warten, ohne den EDT zu blockieren AWT, Swing, JavaFX & SWT 1
G Ikonli in Fat-Jar mit mehreren Icon-Packs einbinden AWT, Swing, JavaFX & SWT 5
F Zeile in mehreren Jtables bei Selektion markieren AWT, Swing, JavaFX & SWT 11
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
P JavaFx - Progressbar - Füllen mittels mehreren Tasks AWT, Swing, JavaFX & SWT 0
O Basics - Anwendung erstellen mit mehreren Szenen AWT, Swing, JavaFX & SWT 1
N Taschenrechner mit mehreren Rechnungen AWT, Swing, JavaFX & SWT 18
M Swing MVC-Pattern - View mit mehreren Models AWT, Swing, JavaFX & SWT 5
B JavaFX PrinterJob mit mehreren Seiten AWT, Swing, JavaFX & SWT 0
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
S JComboBox mit mehreren Spalten? AWT, Swing, JavaFX & SWT 6
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
M Swing MVC mit mehreren Klassen AWT, Swing, JavaFX & SWT 2
J JavaFX eine Art Tabelle, jedoch mit mehreren Zeilen AWT, Swing, JavaFX & SWT 2
K Swing Klassenstruktur mit mehreren JPanels AWT, Swing, JavaFX & SWT 3
M Applikation mit mehreren Scenes AWT, Swing, JavaFX & SWT 5
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
J Mit mehreren in Objekten in JFrame printen? AWT, Swing, JavaFX & SWT 8
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
B Swing Formular mit mehreren Elementen - wie die ActionListener-Verarbeitung lösen? AWT, Swing, JavaFX & SWT 2
S Shape erstellen der aus mehreren Elementen besteht..? AWT, Swing, JavaFX & SWT 3
F Tablemodel zu mehreren Tabellen AWT, Swing, JavaFX & SWT 6
T Sichtbarmachen von Objekten auf mehreren JPanels AWT, Swing, JavaFX & SWT 2
DamienX Swing Component auf mehreren Containern AWT, Swing, JavaFX & SWT 2
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
M In Jlist auf Änderungen von mehreren JLabels reagieren AWT, Swing, JavaFX & SWT 3
E JTable nach mehreren Spalten sortieren AWT, Swing, JavaFX & SWT 14
B SWT SWT Tree mit mehreren Spalten AWT, Swing, JavaFX & SWT 3
J Swing JComboBox mit mehreren Spalten AWT, Swing, JavaFX & SWT 4
J SWING Fenster mit mehreren JPanels (dank JLayeredPane) AWT, Swing, JavaFX & SWT 19
T Swing KeyListener mit mehreren Objekten AWT, Swing, JavaFX & SWT 2
G Verliere Referenz von Toolbar bei mehreren Fenster AWT, Swing, JavaFX & SWT 3
M MVC: Grundidee verstanden aber was machen mit mehreren Model AWT, Swing, JavaFX & SWT 2
R Daten in JTable in mehreren Zeilen darstellen AWT, Swing, JavaFX & SWT 11
G JDialog mit mehreren Elementen! AWT, Swing, JavaFX & SWT 5
G Ein Frame mit mehreren austauschbaren Panels AWT, Swing, JavaFX & SWT 3
S JTable audrucken, aber mit mehreren Footers und Headers AWT, Swing, JavaFX & SWT 2
O Zwischen mehreren Bildern wechseln AWT, Swing, JavaFX & SWT 6
S Enter in JLabel - oder: JTabbedPane mit mehreren JLabel AWT, Swing, JavaFX & SWT 3
I Arbeiten mit mehreren Fenstern AWT, Swing, JavaFX & SWT 4
H jar-archive mit mehreren Klassen erstellen AWT, Swing, JavaFX & SWT 3
G Organisation Anwendung mit mehreren Eingabedialogen AWT, Swing, JavaFX & SWT 3
L Probleme mit mehreren Canvas: Überlagerungseffekte? AWT, Swing, JavaFX & SWT 5
N JComboBox mit mehreren Spalten AWT, Swing, JavaFX & SWT 21
Q Auf mehreren JPanels Bilder zeichnen. AWT, Swing, JavaFX & SWT 5
T Swing: MainForm mit mehreren Tabs AWT, Swing, JavaFX & SWT 6
K Spaltenbreite von mehreren Tabellen gleichzeitig verändern AWT, Swing, JavaFX & SWT 3
H JTable Text aus mehreren Zellen in einer Spalte kopieren? AWT, Swing, JavaFX & SWT 3
R Navigieren zwischen mehreren Fenstern AWT, Swing, JavaFX & SWT 7
U Anwendung mit mehreren "Fenstern" AWT, Swing, JavaFX & SWT 4
M JDialog mit mehreren Eingabenfeldern? AWT, Swing, JavaFX & SWT 5
M jtabbedpane mit mehreren layoutmanagern? AWT, Swing, JavaFX & SWT 2
V Werte mehreren Checkboxes zuweisen AWT, Swing, JavaFX & SWT 3
T JList mit mehreren spalten AWT, Swing, JavaFX & SWT 2
M Mit mehreren Panels arbeiten AWT, Swing, JavaFX & SWT 2
A JFrame mit mehreren Panels AWT, Swing, JavaFX & SWT 10
P JTable nach mehreren Spalten sortieren AWT, Swing, JavaFX & SWT 15
V JTable mit mehreren Componenten in einer Spalte ? AWT, Swing, JavaFX & SWT 6
M Dialog mit mehreren Komponenten AWT, Swing, JavaFX & SWT 4
N Checkbox mit mehreren Strings belegen? 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

Ähnliche Java Themen

Neue Themen


Oben