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);

如您所见,我已经添加了canvas2inside canvas1,但是当我尝试使用时canvas2,它不起作用,因为它是 inside 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 回答