//
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.util.Date;

public class Animation extends java.applet.Applet 
    implements Runnable {

    boolean stop = false; // la variable de controle du Thread
    
    // dŽclaration des variables de l'applet
    //...
    Thread actif;
    
        
    public void start() {
    // activation du processus d'animation
      if (actif==null); {
        actif = new Thread(this);
        actif.start();
      }
    }
        
     public void stop() {
     // arrt du processus d'animation
     if (actif!=null); {
        stop = true; 
        actif = null;       
     }
    }

    public void run() {
    // dŽclaration des variables
    // ...
    // boucle d'animation
       while (!stop) {
          // modification des variables de l'applet
          ...
          // demande de mise ˆ jour update() ou repaint()
          ...
          // reglage de la vitesse de l'animation
          ...
          try {Thread.sleep(1000);}
          catch(InterruptedException signal) {}
       }
    }
      
    public void paint(Graphics g) {
		// exŽcution de l'animation
		...
	}
}