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

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

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

Мне нужна помощь, чтобы узнать, куда поместить вызов загрузки ().

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);
  }
}

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



Решение

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

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();

}
6
задан Bill VB 4 May 2012 в 11:35
поделиться