長時間実行しているデータベース操作をどのようにシミュレートできますか?私の要件は、操作が完了するまでJProgressBarを持つダイアログボックスを表示することです。長期実行操作のシミュレーション
答えて
バックグラウンドスレッド(SwingWorkerによって提供されるものなど)を使用して、forループを1から10に実行し、ループの内部でThread.sleepを実行します。その後、確定モードのJProgressBarであれば、プログレスバーにループインデックスを10 *渡すことでその値を更新できます(もちろん、スイングスレッド、EDTに注意してください)。
編集:
@James Poulson:あなたはSwingWorkerのオブジェクトを使用している場合は、EDT上で更新するpublish/process
方法とdone
メソッドを使用します。独自のバックグラウンドスレッドを使用している場合は、Swing呼び出しのグループをRunnableにラップし、invokeLaterを使用してEDTにキューイングしてください。
+1 [ここ](http://stackoverflow.com/questions/4637215/can-a-progress-bar-be-used-in-a)に示されているように、待ち時間をシミュレートするために、ワーカーのバックグラウンドスレッドでスリープ状態にしても問題ありません。 -class-outside-main/4637725#4637725)。 – trashgod
@HovercraftFullOfEels答えをありがとう。 EDTでコンポーネントが更新されることを確認するにはどうすればよいですか?私はinvokeLaterを使用しますか? –
@JamesPoulson:私の答えに編集を参照してください。 –
- 1. 長期実行Oracle DB問合せのシミュレーション
- 2. コアデータを使用する長期実行フォアグラウンド操作のベストプラクティス?
- 3. ASP.NET MVC 3とJQueryの長期実行操作
- 4. MOSS公開インフラストラクチャを使用した長期実行操作のサポート
- 5. 長期実行タスクの実行方法
- 6. 非同期操作 - 操作が長時間実行されているかどうかを確認する
- 7. 非同期操作を実行するカスタムWindowsワークフローアクティビティの実装
- 8. 同期方式で長い非同期操作を実装する
- 9. フォース前に再描画の実行時間の長い操作
- 10. HTTPリクエストで長い操作を実行できますか?
- 11. AJAXプログレスバーで長時間実行されるPlone操作
- 12. 操作の実行(R)
- 13. sqlalchemy:長期実行クエリの停止
- 14. 長期実行PL/SQLブロックの監視
- 15. 長期実行サブプロセスの停止
- 16. WCFシングルトンを長期間実行する
- 17. 長期実行タスク - ベストプラクティス - ASP.NET 4.0、C#
- 18. アンドロイドアプリアイコンの長押し操作
- 19. HashTable操作とHashMap操作の実行時間?
- 20. 長期間の操作中にWindowsメッセージをポンピングする?私が実行している大きな操作で、次のメッセージが出てい
- 21. 非同期操作内の非同期操作
- 22. WCF非同期操作+ IO操作
- 23. 実行時のアプリケーションオブジェクトのブラウジングと操作
- 24. performSelectorInBackgroundとUI操作の実行
- 25. IOバウンド操作の並列実行
- 26. アンドロイドのsqlite3からsqlデータベースへの値の同期操作の実行
- 27. タスクを使用した任意の操作の非同期実行
- 28. 非同期操作asp.net mvcをアクションの外側で実行する
- 29. ユニットテストの非同期操作
- 30. Magentoを今後実行するシミュレーション
長時間実行されているプロセスをシミュレートするには、任意のメソッド内で 'Thread.sleep(millis) 'を使用するだけです。それは簡単です:-) – home
@home、それはそれほど簡単ではありません。あなたはEDTで寝ることができません。 – mre
あなたはこれを意味しますか?:http://stackoverflow.com/questions/1389586/simulation-of-long-running-oracle-db-query –