Swingはシングルスレッドモデルで、実際に動いているスレッドがEDT。
ここで長い処理をしたり、WaitやBlockをさせると画面描画関連が
すべて止まってしまうので、注意。
Java6からは、Swingから非同期処理行うSwingWorkerが追加された。SwingWorkerのTutorial
Java5でもBackPortがある。SwingWorker-ackPort
SwingのDeBugなどに使用できるツール。Swingの処理速度の劣化原因を発見する。Detangler
応用の一つで、ある一定の間隔が開くと処理を開始するWorkerの実装が紹介
されている。DelayedWorker
たとえば、長いリストをスクロールしている時に早くスクロールすると
変化しないが、スクロールを止めたりゆっくりになると行の状態を表示
する機能などではこれがあると便利。
0 件のコメント:
コメントを投稿