0

ユーザーが「実行」ボタンを押すとすぐに不確定な進行状況バーがポップアップし、アプリケーションによって実行される作業が終了すると閉じます。GUI の開発には NetBeans を使用しました。どうすればいいですか?gui クラスは JFrame を拡張します。実行ボタンのアクション リスナーは次のとおりです。

public class GUI extends JFrame{
    // other methods and constructos....
private JProgressBar pb = new JProgressBar();
private void runButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          


   pb.setIndeterminate(true);

   //other functions start...
   runButton.setEnabled(false);
    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
   //....blah blah
}
}

プログレスバーを JFrame に追加し、作業が完了したら削除するにはどうすればよいですか? Swing Worker を使用したくありません。

4

1 に答える 1

2

を使用したくありませんが、使用するSwingWorker必要があります (または同様のメカニズム)。JProgressBarイベント ディスパッチ スレッド (EDT) を計算で占有している間は表示できません。

ThreadEDT を解放するには、計算を別の場所に移動する必要があります。そうすれば、EDT はJProgressBar計算中に a を表示し、完了したらそれを削除できます。

これに関する詳細は、「Concurrency in Swing」チュートリアルを参照してください。SwingWorkeraと aの例は、ここJProgressBarにあります。

于 2012-07-19T09:28:29.127 に答える