Probleme mit JProgressbar auf JPanel in JFrame

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo!

Ich habe folgendes Problem:
Ich habe 3 Klassen :
- DownloadWindow
- DownloadPanel
- DownloadHandler

Nun das Problem:
Im DownloadWindow liegt ein Objekt der Klasse DownloadPanel. In diesem DownloadPanel wiederum liegt eine JProgressBar. Diese JProgressbar möchte ich über eine Methode aus der DownloadHandler Klasse verändern (mit setValue()). Doch die JProgressbar nimmt diese Änderungen nicht an. Habe es schon mit repaint() und validate() probiert, doch dies führt zu keinem Erfolg.

Hat jemand ne Ahnung was hier falsch läuft?

Vielen Dank im Vorraus!

Grüße,
Chris
 
Implementiere in deiner Klasse wo sich die Progressbar befindet eine getMethode mit der du die referenz der bar in die gewünschte klasse bringst und sie dann dort änderst!

lg
 
Ja, die lieben Threads...wie muss das denn aussehen mit den Threads? Muss ich einen Thread bauen der die JProgressBar aktualisiert oder einen Thread der für den Dateidownload zuständig ist? Das mit der get Methode mach ich ja schon, der Value wird auch gesetzt, nur klappt kein Neuzeichnen der Progressbar.
Hab auch schon viel über dieses Problem gelesen und überall wurde die Verwendung von Threads oder der SwingWorker Klasse empfohlen, doch wie läuft das genau ab?

Grüße...
 
Die arbeitsintensive Methode muss in einem eigenen Thread laufen.
In deinem Fall also der download.
 
Soll ich dann auch aus dem Thread die JProgressbar aktualisieren?
Ist das dann ein besonderer Thread oder ganz normal 'extends Thread'?
Vielen Dank für die Hilfe!!
 
Ja, du aktualisierst aus dem 2ten Thread heraus.
Bin mir gerade nicht sicher ob die ProgressBar Threadsafe ist, also eventuell mit SwingUtillities#invokeLater synchronisieren.
Ja, ein ganz normaler Thread, extends Thread oder implements Runnable
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben