Bonjour,
J'ai créer un choice avec des pays et lorsqu'on clique sur un pays, un nouveau choice se crée avec des villes. Le problème c'est que le nouveau choice se positionne nimporte où sur mon écran.
En plus, j'aimerais que ce nouveau choice disparaisse et laisse place à un nouveau lorsque je clique sur un autre pays.
Mais les miens se supperposent.
Voici mon programme :
import java.awt.*;
import java.awt.event.*;
public class EssaiChoice extends Frame implements ItemListener {
Choice ch ;
Panel p;
TextField t;
Choice be, fr, an, pb ;
EssaiChoice(String titre) {
super (titre);
setBackground(Color.white);
p =new Panel();
ch = new Choice();
ch.addItem("Belgique");
ch.addItem("France");
ch.addItem("Angleterre");
ch.addItem("Pays-Bas");
t = new TextField("Choix d'une couleur", 20);
t.setBackground(Color.white);
p.add(ch);
p.add(t);
add("North", p);
// ajout d'un écouteur d'action sur le bouton
ch.addItemListener(this);
// ajout d'un écouteur d'év. fenêtre sur la fenêtre
this.addWindowListener(new FenetreAdaptateur()) ;
}
public void itemStateChanged (ItemEvent evt) {
// String s = (String) (evt.getItem());
int numItem = ch.getSelectedIndex();
if ( evt.getSource() == ch )
switch ( numItem) {
case 0:
{ be = new Choice();
be.addItem("Bruxelles");
p.add(be);
break ; }
case 1:
{ fr = new Choice();
fr.addItem("Paris");
fr.addItem("Nice");
p.add(fr);
break; }
case 2:
{
an = new Choice();
an.addItem("Londres");
an.addItem("Bath");
p.add(an);
break; }
case 3:
{ pb = new Choice();
pb.addItem("?");
pb.addItem("?");
p.add(pb);
break;}
}
}
public static void main (String arg[]) {
EssaiChoice f = new EssaiChoice("Test de choix dans une liste");
f.setBounds(200, 100, 300, 150);
f.setVisible(true);
}
}
class FenetreAdaptateur extends WindowAdapter {
/** méthode appelée par le système en réponse à la demande de fermeture de la fenêtre */
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
Partager