Swing ProgressBar über 2 parallel laufende Threads

aivi

Neues Mitglied
Hallo zusammen,

ich möchte in einer Swing Anwendung parallel über Threads Daten auslesen. Am liebsten hätte ich noch eine gemeinsame ProgressBar aber ich bekomme diese nicht hin.

Könnt ihr mir weiterhelfen ? Danke im Voraus und viele Grüße

[CODE lang="java" title="Threads"] SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {


Thread t = new Thread(new Runnable() {
@Override
public void run() {

loadItems(Parent);

}
});

t.start();

Thread r = new Thread(new Runnable() {
@Override
public void run()

{
loadItems(Parent2);

}
});

r.start();

dmf.getFrame().dispose();
}

});[/CODE]
 
Leider seh ich in deinem Code nicht, wo du versuchst, die Progressbar zu setzen.
Eine Progressbar für 2 Threads ist aber eh nicht optimal. Die Threads müssen dann jeweils den Gesamtprozentsatz kennen, sonst wird die Bar hin und her springen, wenn ein Thread länger braucht als der andere.
Alternativ kannst du auch irgendwo die Gesamtanzahl an Todos hinterlegen und die Threads erhöhen dann jeweils den Zähler um 1. Sobald der Zähler erhöhnt wird, wird die Bar neu gesetzt. (einfaches Beispiel, es geht natürlich auch mit ein paar Optimierungen).
Ob jetzt SwingWorker oder Thread, ist im Grunde nicht so wichtig. So oder so musst du den Dingern sagen, was sie nach einem Todo machen sollen. Der SwngWorker ist allerdings schon vorstrukturiert, du musst dir nur noch Gedanken um's "was" machen, das "wann" ist vorgegeben.
 

Zurück
Oben