yuu_nkjm blog
2008-12-16(Tue) 編集
[Java][Scrap] JComponentのpaintとrepaint
描画そのものは(文字の描画も含め)、JComponentまたはJPanelをextendsした自作クラスのpublic void paintComponent(Graphics g)メソッドに書きます。描画の経時変化(アニメーション)は、javax.swing.Timerクラスを作り、その actionPerforemed()メソッドの中でpaintComponent()メソッドが使っているパラメータの値を適宜変えて、そのパネルオブジェクトのrepaint()をコールします。 質問があいまいなので何とも言えないけど 同じような質問が定期的にあるので推測で回答します。 まず JComponentのJavaDoc、repaint には下記のようにかかれてます。 ------------------------------------------ コンポーネントが表示されている場合に、 指定された領域をダーティーリージョンリストに追加します。 コンポーネントは、現在保留されているすべてのイベントが ディスパッチされたあとに再描画されます。 ------------------------------------------ つまりrepaintは再描画処理の予約であり再描画処理そのものではありません。
次状態の計算,描画用データの更新,repaintの呼び出しをどう組み合わせれば良いのか,まだ勘がはたらかない.