これについてチュートリアルを試しましたが、まだよくわかりません。基本的に私の質問は、どの方法が優れているのか、そしてその理由は何ですか? またはを使用する必要がありますpaintかpaintComponent?
答えをシンプルに保つようにしてください、ありがとう。
これについてチュートリアルを試しましたが、まだよくわかりません。基本的に私の質問は、どの方法が優れているのか、そしてその理由は何ですか? またはを使用する必要がありますpaintかpaintComponent?
答えをシンプルに保つようにしてください、ありがとう。
paint()メソッドのドキュメントからの引用
このメソッドは、ペイントの作業を、3 つの保護されたメソッド (paintComponent、paintBorder、および paintChildren) に実際に委譲します。... UI (ルック アンド フィール) デリゲートの paint メソッドを特殊化するだけのサブクラスは、paintComponent をオーバーライドする必要があります。
paint()このメソッドは、境界線と子を含むコンポーネントを実際に描画しているように見えます。境界線と子を除いてコンポーネントの外観のみをカスタマイズする場合は、paintComponent().
http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#paint(java.awt.Graphics)
一般的に言えば、Swing でペイントする場合はオーバーライドすることをお勧めしますpaintComponent。
理由はいくつかあります。1 つはpaintComponent最下層にペイントされているため、ペイント プロセス中にレンダリングされたコンポーネントを誤って消去することはありません。これは、ここに投稿する人によく起こります。
をオーバーライドする必要がある場合はごくわずかですが、最初paintにそれを機能させることを常にお勧めしますpaintComponent。
チェックアウト