IlvThreadedActivityMonitor は、異なるスレッドで実行中の複数のタスクの進捗をモニターするクラスです。
これらのタスクはまず、 registerThreadedActivity メソッドを使用してこのモニターを登録し、 updateActivityProgress メソッドを呼び出してこれらのタスクでの進捗のモニターを通知します。最終的には、タスクは unregisterThreadedActivity メソッドを呼び出して一覧から削除できます。100% を達成した進捗を記録したタスクは、自動的にモニターから登録解除されます。
モニターは、モニター対象タスクでの進捗を登録されているリスナーに通知します。マルチスレッド・モニター は IlvThreadedActivityMonitorPanel クラスを表示します。このクラスは、 IlvThreadedActivityMonitor.ActivityListener インターフェースを実装する Swing コンポーネントです。これは、モニターされているアクティビティーについて進捗バーを表示します。
![multithreadmonitor.png](../usrprgmaps/_media/multithreadmonitor_default.png)
マルチスレッド・モニター
このセクションで説明されているコードをすべて含む Map Builder のデモ用ソース・コードについては、
<installdir>
/jviews-maps89/samples/mapbuilder/index.html をご覧ください。
この IlvThreadedActivityMonitorPanel 上に独自のスレッド化タスクの進捗を表示する場合は、以下の基本手順に従います。
IlvManagerView view; // the main view of the application // Get the manager of this view (provided that it was set somewhere before) IlvManager manager = view.getManager(); // Get the activity monitor associated with this manager IlvThreadedActivityMonitor monitor = IlvThreadedActivityMonitorProperty.GetThreadedActivityMonitor(manager); if (monitor != null) { // Notify the monitor of the progress of this activity monitor.updateActivityProgress(this,100,null); };
この Bean の詳細は、「マルチスレッド・モニター」を参照してください。