1

の中にいくつかのものを描画しようとしていJPanelます。形(作品)を描いていますが、JPanelにも絵を描きたいと思っています。ただし、paintComponent()引数は 1 つしか取りません。図形を描画するための追加のコードがあると、これは複雑になります。

私の paintComponent() メソッドは現在次のようになっています。

public void paintComponent(Graphics g) {


    g2 = (Graphics2D) g;
    for (int i = 0; i < shapes.size(); i++) {
        Shape s = (Shape) shapes.get(i);
        if (s != null)
            g2.draw(s);
    }
}

私はたくさん検索しましたが、これを行う方法が見つかりません。

誰かがこれを行う方法を知っていますか、それともいくつかの回避策がありますか?

4

1 に答える 1

1

シェイプを描画するアプローチと同様に、クラス内で描画するイメージへの参照を維持し、ほぼ同じ方法でそれらを参照する必要があります。

paintComponent以下は、実際のトピックで、内でイメージを描画するすべての例です。

注意 - 私はこれを誤解しているかもしれませんが、決して自分自身を呼び出すべきではありませんpaintComponent. これは、Swing 内の再描画エンジンによってユーザーに代わって呼び出されます

于 2013-01-28T20:58:47.230 に答える