TUTORIELS 
Java/AWT : utiliser des cases à cocher
Démonstration de l'utilisation de l'Abstract Windowing Toolkit dans le cadre de l'exploitation d'évènements de l'interface graphique.  (20 octobre 2003)
 
Discutez en sur les forums
Le package AWT (pour Abstract Windowing Toolkit) permet de construire les interfaces graphiques des applications Java, à l'aide de nombreuses classes spécialisées, et de leurs propriétés et méthodes. Pour s'assurer qu'une interface reste la même sur tous les systèmes, tout en restant conforme à son "look and feel", AWT ne fait qu'indiquer à l'OS l'emplacement et les fonctions rattachés à un élément - à sa charge de le matérialiser. AWT est aujourd'hui complété de Swing et des JFC, des classes beaucoup plus puissantes et légères.
Nous allons voir ici une application illustrative de ce paquetage...

Le code
import java.awt.*;
import java.awt.event.*;

public class cases implements ItemListener
  {
  Checkbox case1, case2, case3, case4;
  TextField champTexte;

  public void init()
    {
    case1 = new Checkbox("La première case");
    add(case1);
    case1.addItemListener(this);

    case2 = new Checkbox("La deuxième case");
    add(case2);
    case2.addItemListener(this);

    case3 = new Checkbox("La troisème case");
    add(case3);
    case3.addItemListener(this);

    champTexte = new TextField(30);
    add(text1);
    }

  public void itemStateChanged(ItemEvent e)
    {
    champTexte.setText(((Checkbox) e.getItemSelectable()).getLabel() + " vient d'être cochée.");
    }
  }

Nos trois imports nous permettent de faire appel, si besoin est, aux classes des packages Applet, AWT et event, ce que nous faisons dès l'écriture de notre classe cases.java. Spécifiquement, nous ferons appel aux classes Checkbox et ItemListener : la première nous permet d'utiliser les éléments d'interface nécessaires, et la seconde à gérer les évènements qui s'y rapportent.

Nous définissons nos trois cases comme instance de Checkbox, chacune contenant un titre (label) qui lui est spécifique. Après les avoir définies, nous les "ajoutons" à l'interface graphique via le mot-clé add, puis nous attachons à chacune d'elles un évènement addItemListener() qui nous permettra "d'écouter" si l'élément change d'état.
Nous définissons ensuite un champ texte de 30 caractères, que nous ajoutons de la même manière.

Le coeur de notre petite interface se trouve dans l'utilisation de la méthode itemStateChanged(), appartenant à la classe ItemListener. L'évènement e qui y est défini est ensuite utilisé pour modifier le contenu du champ texte (avec setText), en le remplaçant par le titre de la dernière case cochée. On appelle cette case à l'aide de e.getItemSelectable(), et son titre via getLabel. Nous ajoutons au contenu de notre champ texte un petit complément idoine...

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page