你应该重载Jframe的paint方法来画,不然的话,图片只画一次,你看到的时候也许是第几十次重画了。

解决方案 »

  1.   

    图片的显示需要放到容器中的,你把它放到一个JPanel或其它容器中。
      

  2.   

    给你一个例子import javax.swing.*;
    import java.io.*;
    import java.awt.*;
    class ProgramMain extends JFrame{
      JPanel jp;
      public Image myImage;  public static void main(String argv[])
      {
        ProgramMain pm=new ProgramMain();  }  ProgramMain(){      jp=new canvas();
          myImage = Toolkit.getDefaultToolkit().getImage("C:\\2.gif");
          this.getContentPane().add(jp);      setSize(200,200);
          show();
      }  class canvas extends JPanel
      {
        public void paint(Graphics g)
        {
          g.drawImage(myImage,0,0,this);
        }  }}