Aktualisierungsproblem mit Progressbar

PaP

Mitglied
Hallo zusammen,

ich habe vor einigen Tagen angefangen, mit JFrame zu arbeiten. Ich möchte nun einen kleinen Downloader schreiben, der mehrere Dateien herunterläd, wenn man auf den Button DOWNLOAD klickt.

Die Dateien heißen 1.rar 2.rar und 3.rar

Damit man gut verfolgen kann, wie weit der Download ist, habe ich eine Progressbar eingebaut, die nach dem eine Datei heruntergeladen wurde um 33% zunimmt.

Leider funktioniert das nicht so wie ich es gerne hätte. Die Dateien werden zwar heruntergeladen aber die Progressbar wird erst am Ende direkt auf 99 gesetzt. Jedoch möchte ich dass sie nach jeder Datei aktualisiert wird.


Java:
  public void Download_ActionPerformed(ActionEvent evt)
  {
   int file = 1;
   do
   {
     try{
         URL url = new URL("http://www.***.de/"+file+".rar");
         InputStream in = url.openConnection().getInputStream();
         OutputStream out = new FileOutputStream(file+".rar");
         byte[] buffer = new byte[1024];
         for (int n;(n = in.read(buffer)) != -1; out.write(buffer, 0, n));
         in.close();
         out.close();

        } catch(IOException e){ }
        
      file = file + 1;
      progress = progress + 33;
      jProgressBar1.setValue(progress);

   }while(file <= 3);
  }

Würde mich über gute Antworten sehr freuen 🙂

Mit freundlichen Grüßen

PaP
 
Ich nehme an, dein Download wird per ButtonKlick gestartet? Dann musst du den Download in einem neuen Thread ausführen, da sonst der EDT in deinem Download hängt und dementsprechend die ProgressBar nicht erneuern kann.
 

Neue Themen


Zurück
Oben