- PR -

paintImmediately で描画が汚い

投稿者投稿内容
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2003-07-16 18:16
どうも、Wataです。
役に立つかわかりませんがマメ情報をひとつ。

こういう数枚の絵を切り替えるだけの単純なアニメーションなら、GIFアニメを使ったほうが簡単ぽいです。
その代わり、GIFアニメの描画はEventスレッドの仕事なので、メインの処理は優先度の低いバッググラウンドスレッドで行ってください。
ocean
ベテラン
会議室デビュー日: 2003/07/06
投稿数: 65
投稿日時: 2003-07-17 00:30
スレッドを実際に使ったことは無かったため、興味を持って試してみました。

//////////////////
// スレッド側

1.時間のかかる処理(FTPにあたる)を別スレッドで行う。Swing側にはスレッドを使用していることは見せず、内部に隠蔽する。
2.処理の進み具合は、イベントリスナーで知らせる。
3.イベントリスナーの管理はEventListerListを使用する。(スレッドセーフ)
4.イベントリスナーを呼ぶときは、イベントディスパッチスレッド(Swingスレッド)で呼ばなくてはならないため、SwingUtilities#invokeAndWait()を使用する。

///////////////////
// Swing側

1.イベントリスナー内部で、JScrollBar#setValue()を呼ぶ。(この場合は、getGraphics()やrepaint()は不要)

といった感じで、いちおう動いていました。



[ メッセージ編集済み 編集者: ocean 編集日時 2003-07-17 00:33 ]

[ メッセージ編集済み 編集者: ocean 編集日時 2003-07-17 00:34 ]

スキルアップ/キャリアアップ(JOB@IT)