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の呼び出しをどう組み合わせれば良いのか,まだ勘がはたらかない.
- jcomponent repaint ×3 / JComponent repaint ×3 / JComponent ×2 / repaint java ×2 / paint repaint ×1 / paintcomponent repaint 動かない ×1 / +Java +Swing +JComponent +自作 ×1 / jpanel paint キャプチャ ×1 / repaint パネル ×1 / jpanel repaint javadoc ×1 / Java JComponent 再描画 ×1 / java JComponent paintComponents repaint ×1 / java JComponent repaint ×1 / エクセル JComponent ×1 / Java JComponent repaint ×1 / 複数描画 repaint() ×1 / ruby repaint ×1 / エクセル2007 Repaint ×1 / JAVA repaint 別クラス ×1 / ダーティーリージョンリスト ×1 / "jcomponent" repaint ×1 / "JComponent" clone ×1 / swing update() repaint() paint() ×1 / JComponent paintComponent repaint ×1 / Jcomponent repaint ×1 / jpanel event 再描画 ×1