源码如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="Animate" width=400 height=300>
</applet>
*/
public class Animate extends Applet implements Runnable {
    int count, lastcount;
    Image picture[];
    Thread timer;    public void init() {
        lastcount = 5; count = 0;
        picture = new Image[5];
        MediaTracker tracker = new MediaTracker(this);
        for (int a = 0; a < lastcount; a++) {
            picture[a] = getImage (
                getCodeBase(), new Integer(a+1).toString()+".jpg");
            tracker.addImage(picture[a], 0);
        }
        tracker.checkAll(true);
    }   public void start() {
        if (timer == null) {
            timer = new Thread(this);
            timer.start();
        }
    }   public void paint(Graphics g){
      g.drawImage(picture[count++],0,0,null);
      if(count==lastcount) 
      count=0; 
     }
 
   public void run(){
     while(isActive()){
       try{
         repaint();
         Thread.sleep(1000);
         }catch(Exception e){}
        }
       timer=null;
      }
   } 问题是paint()中if(count==lastcount)和count=0在同一行,就能显示5副图片,
放在下一行就只有一副,最大最小化窗口时,图片可以跟更新.请大家看看,小弟
我刚学java,如果问的幼稚的话,请不要笑话。

解决方案 »

  1.   

    if(count==lastcount)
    {
    count=0; 
    }其实是一样的, 不明白你的意思
      

  2.   

    是的,我这也出现这样的问题
    不过你点小程序查看器的'Applet'
    重新启动,就可以了把count = 0;
    放下来直接运行良好
      

  3.   

    if(count==lastcount) ;
          count=0; 只有这样的情况,才能只有一幅
      

  4.   

    楼主检查是否在if(count==lastcount) 之后有很多空格,然后有个分号?
      

  5.   

    帮你顶下.....//---------------送个笑话----------------------
    煤矿发生事故,一无名男尸,只幸存下半身,叫来村里村妇前来辨认。  
      妇人甲看了看:不是我男人,不是村长,也不是村支书;
      妇人乙:不是我姐夫,不是村会计;
      一个寡妇过来,摸了摸:哎,都回去吧,不是咱村的! www.xiaohua007.com