Базовое неопределенное использование JProgress Bar

Я просто хочу иметь неопределенную анимацию JProgressBar в левом нижнем углу моего кадра, когда выполняется долгая загрузка.

Я просмотрел много уроков, ни один из которых мне не понятен. Я просто хочу, чтобы он анимировался во время загрузки файла в фоновом режиме. Каждый раз, когда я пробовал это, он не оживляет индикатор выполнения доafter загрузка завершена.

Мне нужна помощь, зная, где разместить вызов 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>

Заранее спасибо!


Solution

Edit: Для тех, кто столкнется со схожей проблемой в будущем, это базовое решение основной проблемы. Это не дословно мой код, а общий набросок. внутриbuttonClicked():

<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>

Ответы на вопрос(1)

Ваш ответ на вопрос