Sun Java Solaris Communities My SDN Account Join SDN
 
Code sample

Code Samples from the Java Developers Almanac 2000

 


Code Samples Index

These code examples and other materials are subject to Sun Microsystems, Inc. Legal Terms

Animating an Array of Images in an Applet

This is the simplest applet to animate an array of images. In practice, you should use double-buffering (which this example does not use) to eliminate ``flickering.''

 import java.applet.*;
 import java.awt.*;
     
 public class AnimApplet extends Applet 
                        implements Runnable {
   Image[] images = new Image[2];
   int frame = 0;
   volatile Thread thread;
     
   public void init() {
     images[0] = getImage(getDocumentBase(), 
       "http://hostname/image0.gif");
     
     images[1] = getImage(getDocumentBase(), 
       "http://hostname/image1.gif");
   }
   public void start() {
     (thread = new Thread(this)).start();
   }
   public void stop() {
     thread = null;
   }
   public void paint(Graphics g) {
     g.drawImage(images[frame], 0, 0, this);
   }
   public void run() {
     int delay = 1000;    // 1 second
     try {
       while (thread == Thread.currentThread()) {
         frame = (frame+1)%images.length;
         repaint();
         Thread.sleep(delay);
        }
     } catch (Exception e) {
       }
   }
 }
 

Examplets provided by permission of the publisher, Addision-Wesley, and Author Patrick Chan.

Order this book from Amazon