長時間実行されるデータベース操作をどのようにシミュレートできますか?私の要件は、操作が完了するまでJProgressBarを含むダイアログボックスを表示することです。
2516 次
1 に答える
6
バックグラウンドスレッド(SwingWorkerによって提供されるスレッドなど)を使用して、ループ内でThread.sleepを使用して1から10までのforループを実行します。次に、それが確定モードJProgressBarの場合、10 *ループインデックスをプログレスバーに渡すことでその値を更新できます(もちろん、Swingスレッド、EDTでそうするように注意してください)。
編集:
@James Poulson:SwingWorkerオブジェクトを使用している場合は、publish/process
メソッドとメソッドを使用done
してEDTを更新します。独自のバックグラウンドスレッドを使用している場合は、必ずSwing呼び出しのグループをRunnableでラップし、invokeLaterを使用してEDTでキューに入れてください。
于 2011-10-30T20:18:00.630 に答える