Я просто хочу иметь неопределенную анимацию 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();
}