在程序中加入如下函数即可:
public void addNotify()
{//初始化图像
   super.addNotify();
   nImage= createImage(t_width,height);
}

解决方案 »

  1.   

    你用到多线程没有?
    在run()里面,应该不断地重绘图像。
    或者在paint()里面,不断地重绘。
    http://www.emapgo.com有一个Applet就是将静态图像不断重绘,达到动态的效果。
      

  2.   

    代码太长,选其中相关的部分吧,希望你们看得了public void paint(Graphics g) 

      if(off_screen_buffer == null) 
          update(g); 
      else 
      { 
          g.drawImage(off_screen_buffer,0,0,this); 
      } 
    } public void update(Graphics g) 

      off_screen_buffer = createImage(getWidth(),getHeight() );  
      off_screen_g    = off_screen_buffer.getGraphics() ; 
       .................
       
      Image img = RotateImage(Angle); 
      off_screen_g.drawImage(img,300,200,this);//在这里显示,出现上述问题 
      paint(g); 
    } //----下面这段代码引用其它类,把一幅图片旋转一定角度,生成一个新的Image 
    //----这部分从其它例子引用过来,没有问题 
    private Image RotateImage(double angle) 

      ImageFilter f = new RotateFilter(angle); 
      ImageProducer p = ImageTelescope.getSource() ; 
      ImageProducer fltp = new FilteredImageSource(p,f); 
      return createImage(fltp);