長いダウンロードが行われているときに、フレームの左下隅に不確定なJProgressBarをアニメーション化させたいだけです。
私は多くのチュートリアルを調べましたが、どれも私にはわかりません。ファイルがバックグラウンドでダウンロードされている間、アニメーション化するだけです。私がこれを試したそれぞれの方法で、ダウンロードが完了するまでプログレスバーはアニメーション化されません。
download()呼び出しをどこに置くかを知るのに助けが必要です。
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();
}