SwingWorker, was ist richtig?

Status
Nicht offen für weitere Antworten.

Dunedain

Mitglied
Hallo,

hab mal ne Style-Guide Frage zum SwingWorker, welche Methode "richtiger" ist...
Hab bis jetzt folgende Zwei Methoden gesehen, wie der SwingWorker die GUI ändert:

1) Über einen PropertyChangeListener (Leider nur prozentualer Fortschritt...)

2) Die Progressbar als Referenz an den SwingWorker zu übergeben und mittels doInBackground -> publish -> process zu aktualisieren.

Mal abgesehen davon, dass die erste Variante auf den prozentualen Status beschränkt ist, welche Methode ist "richtiger" bzw. besser? Gibt es einen "leichten" Weg, die erste Variante so zu erweitern, dass man auch andere Statusmeldungen außer dem prozentualen Fortschritt "veröffentlichen" und diese dann im PropertyChangeListener entgegennehmen kann?
 

Ullenboom

Bekanntes Mitglied
Hallo Dunedain,

ich würde Variante 1 immer dann nutzen, wenn prozentualer Fortschritt reicht, denn dann muss man der PB keine Referenz übergeben, und die Kopplung der Klassen wird minimiert. Sonst Variante 2. Mit Aufwand könnte man eine Unterklasse von PB schreiben, die mehr Ereignissse über PropertyChangeListener veröffentlicht, aber darin sehe ich keinen großen Sinn.

Beste Grüße

Christian
 

Dunedain

Mitglied
Erstmal besten Dank für die Info...

Zu meinem konkreten Fall, hab das jetzt so gelöst, dass ich das Panel, welches den Fortschritt visualisiert, als Referenz :? gespeichert habe und dann mittels publish/process aktualisiere. (Liegt schlicht und einfach daran, dass ich zwei PGBs aktualisieren muss, einmal der aktuelle WorkFlow Fortschritt und als zweites der Fortschritt des aktuellen WorkFlow Schrittes; sowohl mit Text als auch mit prozentualem Fortschritt).

Das mit dem erweitern des SwingWorkers ist mir ehrlich gesagt dann doch ein bischen zu komplex, da AccumulativeRunnable noch proprietär und die doSubmit Eigenschaft (zum einreihen eigener AccumulativeRunnables?) im SwingWorker komplett private ist,...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
Thallius Merkwürdiges Verhalten von Swingworker.cancel() Allgemeine Java-Themen 2
C SwingWorker.cancle(true) tötet alle Worker Allgemeine Java-Themen 3
U SwingWorker und Exception Allgemeine Java-Themen 3
martin82 Java Runtime Update >17 - SwingWorker Änderungen? Allgemeine Java-Themen 7
Weiti Swingworker und Rekursion Allgemeine Java-Themen 8
H SwingWorker statt Thread für einen Server Allgemeine Java-Themen 2
T SwingWorker mit mp3 Datei? Allgemeine Java-Themen 5
M Unsicher, ob das Code richtig ist Allgemeine Java-Themen 4
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
L Dateien richtig auslesen Allgemeine Java-Themen 6
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
Thallius Wie parse ich dieses Datum richtig? Allgemeine Java-Themen 5
X Files.walkFileTree zählt nicht richtig Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
H .jar Datei startet nicht richtig bei Doppelklick Allgemeine Java-Themen 11
N Java MVC Pattern richtig anwenden Allgemeine Java-Themen 24
N HashMap und Methoden richtig einbinden Allgemeine Java-Themen 2
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
The Pi Android TextView richtig formatieren Allgemeine Java-Themen 1
MaxG. Bilddateien richtig einbinden Allgemeine Java-Themen 9
J Erste Schritte DateTimeFormatter richtig anwenden Allgemeine Java-Themen 3
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
F ExecutorService richtig anwenden Allgemeine Java-Themen 0
J .exe Dateien werden nicht gestartet obwohl Pfad richtig Allgemeine Java-Themen 6
N event_scheduler richtig setzen? Allgemeine Java-Themen 1
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
buggy84 Ausführen einer Batch mit Parameterübergabe funktioniert nicht richtig Allgemeine Java-Themen 18
G Tabelle wird nicht richtig dargestellt Allgemeine Java-Themen 9
A Datenstrukturen richtig anlegen/laufzeitanalyse Allgemeine Java-Themen 10
I Datei wird nicht richtig gelöscht Allgemeine Java-Themen 7
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
K Thread richtig benutzen Allgemeine Java-Themen 3
H [Logback || log4j] Wie richtig loggen / Log Instanzen verwalten Allgemeine Java-Themen 2
K Spiele starten nicht richtig Allgemeine Java-Themen 2
N Collisiondetection - Richtig gemacht? Allgemeine Java-Themen 4
L repaint() methode funktioniert nicht richtig! Allgemeine Java-Themen 3
propra MVC richtig umgesetzt? Allgemeine Java-Themen 16
A String.split() funktioniert nicht richtig Allgemeine Java-Themen 4
B Text wird nicht richtig angezeigt Allgemeine Java-Themen 9
D Thread-Array (richtig) überwachen Allgemeine Java-Themen 3
C Variablenwert wird nicht richtig zurückgegeben Allgemeine Java-Themen 8
C Reguläre Ausrücke Punkte im Satz richtig erkennen Allgemeine Java-Themen 6
D Java läuft nicht richtig Allgemeine Java-Themen 12
H List wird nicht richtig gefüllt Allgemeine Java-Themen 6
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
T Array durchsuchen - aber richtig Allgemeine Java-Themen 7
C cmd Programm arbeitet nicht richtig Allgemeine Java-Themen 3
L ANT - So richtig? Allgemeine Java-Themen 4
A Java-Anwendung "richtig" schließen ohne JVM zu beenden Allgemeine Java-Themen 2
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
I Wie richtig kommentieren? Allgemeine Java-Themen 33
G Welche Schreibeweise ist richtig Allgemeine Java-Themen 16
G Font richtig vergrößern Allgemeine Java-Themen 4
M TransferHandler.exportDone will nicht so richtig Allgemeine Java-Themen 2
V Java-Programm richtig neustarten? Allgemeine Java-Themen 9
S Model richtig aktualisieren Allgemeine Java-Themen 7
J jar mit nicht richtig installierter JRE !? Allgemeine Java-Themen 2
H Kommunikation mit einem c-Prozess funzt nicht richtig Allgemeine Java-Themen 5
R Thread funktioniert nicht richtig Allgemeine Java-Themen 8
G Date wird nicht richtig geparsed Allgemeine Java-Themen 3
F Wie Fachthemen richtig erklären? Allgemeine Java-Themen 6
E .jar - Datei funktioniert nicht richtig Allgemeine Java-Themen 10
G JTable wird nicht richtig aufgebaut Allgemeine Java-Themen 9
A Wie liefere ich mein Java-Programm richtig aus? Allgemeine Java-Themen 10
P Speicherresourcen schonen - WeakReferences richtig einsetzen Allgemeine Java-Themen 6
P Garbage Collector funktioniert nicht richtig? Allgemeine Java-Themen 12
M Datum nicht richtig geprüft, warum? Allgemeine Java-Themen 9
Ebb String-Array richtig löschen! Allgemeine Java-Themen 3
H Bilder richtig speichern und laden Allgemeine Java-Themen 4
G Geistercode beim Compilern *_* ( ja ihr lest richtig ) Allgemeine Java-Themen 6
M Speichernutzung wohl nicht richtig verstanden? Allgemeine Java-Themen 6
C MVC richtig einsetzen Allgemeine Java-Themen 30
M Umlaute richtig dastellen? Allgemeine Java-Themen 4
U ASCII ZEichenkette wird net richtig ausgegeben Allgemeine Java-Themen 2
S AWT Threads richtig beenden! Wie? Allgemeine Java-Themen 9
C Java-Uhren ticke nicht richtig? Allgemeine Java-Themen 3
M Java 1.5 <> 1.4 - Nicht richtig abwärtskompatibel? Allgemeine Java-Themen 13
I Ist JNI hier richtig? Allgemeine Java-Themen 8
T Fließkomma (double) richtig runden Allgemeine Java-Themen 7
R Float richtig in Integer ? Allgemeine Java-Themen 4
S Tipps: java richtig lernen - wie? Allgemeine Java-Themen 3
J Wie stoppe ich einen Thread richtig? Allgemeine Java-Themen 21

Ähnliche Java Themen

Neue Themen


Oben