你需要在上面放置组件吗??
如果需要就用Panel,否则就用Canvas好了.
注意Panel要考虑布局的问题.

解决方案 »

  1.   

    我再JFrame中用Canvas时,Canvas却把JFrame的菜单给挡住了,这是什么原因啊?用panel的时候不会挡住菜单!我再JFrame中的布局是:最上面是菜单,其余地方全部用来做图!
    也就是我在其他地方布置panel或canvas!:)Jack
      

  2.   

    Canvas是重组件,JFrame的面板是轻组件,重组件会放在轻组件前面。
    在JFrame中添加一定要用内容面板添加
      

  3.   

    是不是用
    setLayout(new BorderLayout());
    getContentPane().add(new Canvas(), BorderLayout.CENTER);来添加?我是过了,不行啊!
    有没有解决的办法啊?
      

  4.   

    重组件和轻组件放在一起会有问题,如果这样,你直接在面板上画好了。
    -----------------------------------------------------
    setLayout(new BorderLayout());
    getContentPane().add(new Canvas(), BorderLayout.CENTER);
    这个问题建议看看机械工业出版社的<java图形设计 1 (awt)>