import java.applet.Applet;
import java.awt.*;
import java.util.Vector;
import java.net.*;

public class demoGrid2 extends Applet 
{

  Grid      gridParam;
  Image     image;
  TextField col, lig;
 
  public void init() 
  {
    setLayout(null);

    //    nbC Nombre de colonnes de la Grid
    //    nbR Nombre de Lignes de la Grid
    //    w Longueur de la Grid (en pixels)
    //    h Hauteur de la Grid (en pixels)
    //    rw Longueur de la Grid dans sa totalite (en pixels)
    //    rh Hauteur de la Grid dans sa totalite (en pixels)
    //    t Titre de la Grid
    //    bS Taille de la bordure de la Grid (en pixels)
    //    bC Couleur de la bordure de la Grid 
    //    fC Couleur de fond des champs de la Grid
    //    fT Couleur du texte des champs de la Grid
    //    cC Couleur de fond des cellules de la Grid
    //    vB Booleen indiquant si la bordure doit etre visible
    //    vF Booleen indiquant si les champs doivent etre visibles
    //    dS Booleen indiquant si la Grid doit etre redimensionnee en fct du contenu
    //    iT Booleen indiquant si l'utilisateur peut interagir la Grid
    //    smH Booleen indiquant si une Scrollbar horizontale doit apparaitre en fct de la taille de la Grid
    //    smV Booleen indiquant si une Scrollbar verticale doit apparaitre en fct de la taille de la Grid
    gridParam  = new Grid(4,4,900,500,900,500,"DEMO2",2,Color.black,Color.gray,Color.white,Color.white,true,true,true,false,true,true);
    add(gridParam);
    gridParam.move(1,1);
   
    
    Choice choice = new Choice();
    choice.addItem("tralala");
    choice.addItem("blabla");
    choice.addItem("tata");
    choice.addItem("titi");
    choice.addItem("toto");
    gridParam.setContentAt(1,1,choice);
    gridParam.setContentAt(2,2,new Button("Bouton"));
    gridParam.setContentAt(3,3,new Label("Texte"));
    gridParam.setContentAt(4,4,new Checkbox("selection"));
    gridParam.setContentAt(3,1,new TextArea("Zone de saisie",2,15));
    gridParam.setContentAt(1,3,new TextField("Entree de texte"));
    MyCanvas canvas = new MyCanvas();
    canvas.resize(60,55);
    canvas.setImage("http://www.essi.fr/~rubino/JAVA/buffa.gif");
    canvas.repaint();
    gridParam.setContentAt(2,4,canvas); 
    MyCanvas canvas2 = new MyCanvas();
    canvas2.resize(71,81);
    canvas2.setImage("http://www.essi.fr/~rubino/JAVA/leon.gif");
    canvas2.repaint();
    gridParam.setContentAt(4,2,canvas2); 
    
    repaint();
  }
  

  public void start() 
  {
    repaint();
  }

   
  public void stop() 
  {

  }

  
  public void destroy() 
  {

  }

  
  public void paint(Graphics g) 
  {

  }  

}


class MyCanvas extends Canvas 
{    
  Image image;
 
  public MyCanvas()
  {
    image = null;
  }

  public void paint (Graphics g) {
    draw_image(g);
  }
 
  public void draw_image(Graphics g){
    if (image != null) {
      g.drawImage(image, 0, 0, this);
    }
  }
 
  public void setImage(String name){
    try{ 
      image = Toolkit.getDefaultToolkit().getImage(new URL(name));
    } catch (MalformedURLException me) {
      System.out.println("MalformedURLException: " + me);
    }
 
    if (image == null) {
      System.err.println("Canvas got invalid image object!");
      clear();
      return;
    }
    repaint();
  }
 
  public void clear(){
    image=null;
    repaint();
  } 

}
