/* Auteur: Nicolas JANEY, nico@univ-fcomte.fr */

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.* ;

public class Java2DExemple001 extends Applet
    implements Runnable {
  public Java2DExemple001Canvas canvas;
  static public Image i = null ;
  static public Image a[] = new Image[36] ;
  private Thread app = null ;
  private boolean bRun = false ;

  public void init() {
    URL u ;
    try {
      u = new URL("http://raphaello.univ-fcomte.fr/IG/Java2D/Images/r1.gif");
      i = getImage(u) ; }
    catch (MalformedURLException e) { }
    for ( int ind = 0 ; ind < 36 ; ind++ ) {
      try {
        u = new URL("http://raphaello.univ-fcomte.fr/IG/Java2D/Images/Animation/Image"+ind+".gif");
        a[ind] = getImage(u) ; }
      catch (MalformedURLException e) { } }
    setBackground(Color.white); 
    setLayout(new BorderLayout());
    canvas = new Java2DExemple001Canvas();
    add("Center",canvas);
  }

  public void initApplication() {
    i = Toolkit.getDefaultToolkit().getImage("r1.gif");
    for ( int ind = 0 ; ind < 36 ; ind++ ) {
      a[ind] = Toolkit.getDefaultToolkit().
                 getImage("Animation/Image"+ind+".gif"); }
    setLayout(new BorderLayout());
    canvas = new Java2DExemple001Canvas();
    add("Center",canvas);
  }

  public void destroy() {
    remove(canvas);
  }

  public void start() {
    bRun = true ;
    if ( app == null ) {
      app = new Thread(this);
      app.start(); }
  }

  public void stop() {
    if ( app != null ) {
      bRun = false;
      app = null; }
  }

  public void run() {
    while ( bRun ) {
        try {
        canvas.repaint() ;
        Thread.sleep(100) ; }
      catch(Exception e) { } ;
    }
  }
  
  public void processEvent(AWTEvent e) {
    if (e.getID() == Event.WINDOW_DESTROY) {
      System.exit(0);
    }
  }

  public static void main(String args[]) {
    Frame f = new Frame("Exemple 001 pour Java 2D");
    Java2DExemple001 j001 = new Java2DExemple001();
    j001.initApplication();
    j001.start();
    f.add("Center",j001);
    f.setSize(500,400);
    f.show();
  }

  public String getAppletInfo() {
    return "Exemple 001 de Java 2D.";
  }
}
