2012-09-16 54 views
0

可以說我有一個Canvas,像下面的一個 -Java:如何將畫布放入畫布中?

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

正如你所看到的,我已經加入canvas2canvas1,但是當我嘗試使用canvas2,這是行不通的,因爲它是內部canvas1 。有沒有辦法使canvas1canvas2同時工作而不更改我的任何代碼?

+1

爲了更好地幫助,請發佈[SSCCE](http://sscce.org/)。並使用所有Swing組件。 –

回答

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); 請小心你怎麼說你的問題

+0

面板是JPanel – user1675596