0

以下のような、私が持っているとしましょうCanvas-

Canvas canvas1 = new Canvas();
canvas1.setBounds(0,0,100,100);
panel.add(canvas1);

今私は持っていcanvas1ます。以下のように、別のものを作りたいとしましょうCanvas-

Canvas canvas2 = new Canvas();
canvas2.setBounds(0,0,50,50);
panel.add(canvas2);

ご覧のとおり、canvas2内部canvas1に追加しましたが、使用しようとするとcanvas2内部にあるため動作しませんcanvas1。コードを変更せずに、作成canvas1canvas2作業を同時に行う方法はありますか?

4

1 に答える 1

0

ヘルプが必要な場合は、詳細をお知らせください。何が機能しないのですか?ペインティング?位置?

キャンバスを設定する方法は問題ないように見えますが、次のようにペイントを正しくオーバーライドしていますか?

java.awt.Canvas canvas2 = new CanvasTest();

public class CanvasTest extends Canvas
{
    @Override
    public void paint(Graphics g)
    {
        super.paint(g);
        //paint to your canvas here
        g.drawRect(5,5, 10, 10);
    }
}

注: canvas2をcanvas1内に配置しておらず、両方を「パネル」に追加しています。質問の言い回しに注意して ください。panel.add(canvas1);panel.add(canvas2);

于 2012-09-16T21:54:12.593 に答える