exemples d'applet Java pour faire des listes découlantes

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class liste extends Applet implements ItemListener {
  Label texte1 = new Label ("Fais ton choix !");
  Choice Choix = new Choice ();
  String choisi, numero, nombre;

  public void init() {
    add (texte1);
    add (Choix);
    Choix.addItem("Choix 1");
    Choix.addItem("Choix 2");
    Choix.addItem("ajoute");
    Choix.addItemListener(this);

  }

  public void itemStateChanged(ItemEvent evt)      // activée à chaque changement de la liste
    {
    choisi = Choix.getSelectedItem();
    if (choisi =="ajoute")
        Choix.addItem("1 en plus");
    repaint();                                                                 // demande un réaffichage de l'écran
  }

  public void paint(Graphics g) {
    g.drawString(choisi,10,100);
    numero="vous avez choisi le "+Choix.getSelectedIndex();
   g.drawString(numero,10,120);
    nombre ="il y a "+Choix.getItemCount() + " Choix possibles";
    g.drawString(nombre,10,140);        
  }
}

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class
Choix extends Applet implements ItemListener {
    private Choice
choix1 = null;
    private Choice
choix2 = null;
    String
message="ce que tu a choisi en haut";
    String
message2 = "ce que tu a choisi en bas";
    public
Choix (){
        super();
    }
    private Choice
definichoix1() {                                        //première liste
        if (
choix1 == null) {
           
choix1 = new Choice();
           
choix1.setName("monchoix");
           
choix1.addItem("oui");                                                // 3 choix possibles
           
choix1.addItem("non");
           
choix1.addItem("possible");
           
choix1.setBounds(10, 10, 150, 20);                            // emplacement
        }
        return
choix1;
    }
    private Choice
definichoix2 () {                                    // seconde liste
        if (
choix2 == null) {
           
choix2 = new Choice();
           
choix2.setName("TON CHOIX");
           
choix2.addItem("JA");
           
choix2.addItem("nein");
           
choix2.addItem("possible");
           
choix2.setBounds(10, 180, 150, 20);
        }
        return
choix2;
    }

    public void init(){
        super.init();
        this.setName("
Texte 4");
        this.setLayout(null);
        this.setSize(
200, 200);
        this.add(this.
definichoix1(), this.definichoix1().getName());          // mise ne place de la liste
       
choix1.addItemListener(this);                                                         //active la  gestion des évenements
        this.add(this.
definichoix2(), this.definichoix2().getName());
       
choix2.addItemListener(this);
    }
    public void paint (Graphics
g) {
       
g.drawString ( message, 10,50);
       
g.drawString ( message2, 10,150);
    }
    public void itemStateChanged(ItemEvent
e) {                    // gestion des événements
        if (
e.getSource() == this.definichoix1()){                       // récupère celui qui a été modifié (ici le 1)
            switch ( this.
definichoix1().getSelectedIndex()) {
                case 0 :
message =" tu as choisis le 1 donc: "+ choix1.getSelectedItem();
                    break;
                case 1 :
message =" tu as choisis le 3 donc: : "+ choix1.getSelectedItem();
                    break;
                case 2 :
message =" tu as choisis le 3 donc: "+ choix1.getSelectedItem();
                    break;
            }
        }
        else {
            switch (this.
definichoix2().getSelectedIndex()) {
                case 0 :
message2 ="tu as choisis le 1 donc: "+ choix2.getSelectedItem();
                    break;
                case 1 :
message2 ="tu as choisis le 2 donc: : "+ choix2.getSelectedItem();
                    break;
                case 2 :
message2 ="tu as choisis le 2 donc: "+ choix2.getSelectedItem();
                    break;
            }
        }
        repaint();
    }
}
titre.gif (1044 octets)

dsdem.gif (1088 octets)