我的解决办法
 public  void update(Graphics g)
  {
    paint(g);
  }在paint中从头画到当前计数器,

解决方案 »

  1.   

    leitz:
          没看明白,可具体点?Thx!
      

  2.   

    先将以有的Img放在hashtable,当切换页面时,再重新将hashtable的Img画一遍,
    sun公司都是这么做的
      

  3.   

    import java.awt.*; 
    import java.applet.*; 
    public class carton extends Applet implements Runnable{ 
        Image img,bimg; 
        Thread thd; 
        int i ; 
        String namestr[] = new String[5] ; 
        int l;
        int k;
        boolean b;
        public void init(){
           i=-1;
           l=-100;
           thd=null;
           b=true;
           for (int j=0; j<5; j++) { 
              namestr[j] ="./image/"+String.valueOf(j+1)+".gif" ; 
              } 
            }    public void run(){ 
           while (b){ 
                try {
                     i=i+1;
                     l=l+100; 
                     if(i==4)b=false; //if(i==5){i=0;l=0;}
                     k=i;
                     repaint(0,0,500,500); 
                    Thread.sleep(1000);
                    }
               catch (Exception e){System.out.println(e.toString());} 
              } 
           }      public synchronized void paint(Graphics g) { 
                  img = getImage(getDocumentBase(),namestr[k]); 
                  bimg= createImage(500,500);
                  Graphics bg=bimg.getGraphics();
                  bg.drawString("aaa",l+30,l+30);              
                  bg.drawImage(img,10,10,this);
                  super.paint(bg);
                  g.drawImage(bimg,l,l,null);       
                  System.out.println("aaa"+k);
                  bg.dispose();
                 } 
        public void update(Graphics g){
                 paint(g);
                 }
        public void start() { 
              if (thd == null) { 
                  thd = new Thread(this); 
                  thd.start(); 
                 } 
              }    public void stop() { 
             thd = null; 
             }
    }运行的结果:
    aaa0
    aaa0
    aaa0
    aaa1
    aaa1
    aaa1
    aaa1
    aaa2
    aaa2
    aaa3
    aaa3
    aaa3
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    aaa4
    实际的结果应该是:
    aaa0
    aaa1
    aaa2
    aaa3怎么会出现这种情况呢?