Podstawowe nieokreślone użycie JProgress Bar

Po prostu chcę mieć animowany JProgressBar w lewym dolnym rogu mojej ramki, gdy trwa długie pobieranie.

Przejrzałem wiele samouczków, z których żaden nie jest dla mnie jasny. Chcę po prostu animować, gdy plik jest pobierany w tle. Za każdym razem, gdy to wypróbowałem, nie animuje paska postępu, dopókipo pobieranie zostało zakończone.

Potrzebuję pomocy, wiedząc, gdzie umieścić moje wywołanie download ().

<code>class MyFunClass extends JFrame {
  JProgressBar progressBar = new JProgressBar();

  public void buttonClicked() {
    progressBar.setVisible(true);
    progressBar.setIndeterminate(true);

    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        progressBar.setIndeterminate(true);
        progressBar.setVisible(true);

        // Do I do my download() in here??

    }});

    // Do download() here???
    progressBar.setVisible(false);
  }
}
</code>

Z góry dziękuję!


Rozwiązanie

Edytować: Dla tych, którzy mają podobny problem do mnie w przyszłości, jest to podstawowe rozwiązanie podstawowego problemu. To nie jest mój kod dosłownie, ale ogólny szkic. WewnątrzbuttonClicked():

<code>public void buttonClicked() {
  class MyWorker extends SwingWorker(String, Object) {
     protected String doInBackground() {
       progressBar.setVisible(true);
       progressBar.setIndeterminate(true);

       // Do my downloading code
       return "Done."
     }

     protected void done() {
        progressBar.setVisible(false)
     }
  }

  new MyWorker().execute();

}
</code>

questionAnswers(1)

yourAnswerToTheQuestion