扩展paintComponent方法
  private ImageIcon bg;//给定一个图
  ...
  public void paintComponent(Graphics g)
  {
    super.paintComponent(g);
    Image img = bg.getImage();
    g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
  }

解决方案 »

  1.   

    摇滚java 老兄 非常谢你的帮助
    不过我是在 Appleation 里做,不是 applet ,还有办法吗?
      

  2.   

    拼错了 是 Application  :-P
      

  3.   

    对不起 图片是一个 jpg 文件 不是画上去的呀
      

  4.   

    你试试用这个Frame代替原来的Frameimport java.awt.*;
    import javax.swing.*;public class ImageBgFrame extends JFrame{
      private ImageIcon bg;
      public ImageBgFrame(String title,ImageIcon icon) {
        super(title);
        bg = icon;
      }
      public void paintComponent(Graphics g)
      {
        super.paintComponent(g);
        Image img = bg.getImage();
        g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
      }
    }
      

  5.   

    返回
    "ImageBgFrame.java": Error #: 300 : method paintComponent(java.awt.Graphics) not found in class javax.swing.JFrame at line 23, column 11
      

  6.   

    应该是
    paintComponents可是我看不见图像
      

  7.   

    呵呵我原来是扩展JPanel的
    public class ImageBgPanel extends JPanel {
      private ImageIcon bg;
      public ImageBgPanel(LayoutManager layout,ImageIcon icon) {
        super(layout);
        bg = icon;
      }
      public void paintComponent(Graphics g)
      {
        super.paintComponent(g);
        Image img = bg.getImage();
        g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
      }
    }
    你不如在JFrame上面放一个JPanel
      

  8.   

    呵呵
    我正是要用一个 JPanel 不然其他组件可就没处放了效果非常好
    谢谢
    还有一小问 我没有看见你调用 paintComponent(Graphics g)
    是系统自己调用的吗?
      

  9.   

    系统调用了paintComponent方法才可以画出JPanel出来