Recherche personnalisée

Les menus



JBuilder - Menus.java

Menus.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


/* Les menus
 */
public class Menus
    implements ActionListener, ItemListener {
  // Déclaration des composants
  JFrame frame;
  JMenuBar barre; // Barre des menus

  JMenu menu1, menu2; // menu1 est le menu principal, menu2 est un sous menu de menu1.
  JMenuItem commande1, commande2, commande3; // Eléments de menu1 et menu2

  JRadioButtonMenuItem rb1, rb2; // Deux boutons radios de menu1.
  ButtonGroup groupe1; // Groupe qui doit contenir les deux boutons radios.
  JCheckBoxMenuItem chk1, chk2; // Deux cases à cocher de menu1.

  JTextField text1; // les messages des événements seront affichés dans Text1.

  public Menus() {

    // Création de la fenêtre
    frame = new JFrame();

    // Ajout des décorations à la fenêtre

    frame.setDefaultLookAndFeelDecorated(true);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Création de la zone de text
    text1 = new JTextField();
    text1.setSize(new Dimension(150, 50));

    //Création des menus

    //Création de la barre des menus
    barre = new JMenuBar();

    //Création du menu principal 1
    menu1 = new JMenu("Menu 1");
    //Définition du raccourci pour le menu menu1

    menu1.setMnemonic('M');

    // Création des éléments du menu menu1

    // Ajout des commandes
    commande1 = new JMenuItem("Commande 1");
    commande1.setMnemonic('C');
    //Commande1 est une source pour les événements de type ActionEvent

    commande1.addActionListener(this);
    commande2 = new JMenuItem("Commande 2");
    commande2.setMnemonic('O');
    commande2.addActionListener(this);

    // Ajout d'un séparateur

    menu1.addSeparator();

    // Ajout de boutons radios
    rb1 = new JRadioButtonMenuItem("Option 1");
    rb1.setMnemonic('p');
    //rb1 est l'option sélectionnée par défaut

    rb1.setSelected(true);
    // rb1 est une source pour les événements de type ItemEvent.
    rb1.addItemListener(this);
    rb2 = new JRadioButtonMenuItem("Option 2");
    rb2.setMnemonic('t');
    rb2.addItemListener(this);

    //Création d'un groupe de boutons d'options

    groupe1 = new ButtonGroup();
    groupe1.add(rb1);
    groupe1.add(rb2);

    menu1.addSeparator();

    // Ajout des cases à cocher

    chk1 = new JCheckBoxMenuItem("Choix 1");
    chk1.setMnemonic('C');
    // chk1 est une source pour les événements de type ItemEvent.
    chk1.addItemListener(this);

    chk2 = new JCheckBoxMenuItem("Choix 2");
    chk2.setMnemonic('h');
    chk2.addItemListener(this);

    menu1.addSeparator();

    //ajout du sous menu

    menu2 = new JMenu("Menu 2");
    menu2.setMnemonic('e');
    commande3 = new JMenuItem("Commande 3");
    commande3.setMnemonic('C');
    commande3.addActionListener(this);

    //Ajout de Commande3 dans le sous menu2

    menu2.add(commande3);

    //ajout des éléments dans menu1
    menu1.add(commande1);
    menu1.add(commande2);
    menu1.add(rb1);
    menu1.add(rb2);
    menu1.add(chk1);
    menu1.add(chk2);
    menu1.add(menu2);

    //Ajout de menu1 dans la barre des menus

    barre.add(menu1);

    //ajout de la zone de texte dans la fenêtre
    frame.add(text1);

    // ajout de la barre dans la fenêtre principale
    frame.setJMenuBar(barre);

    frame.setSize(250, 150);

    frame.setVisible(true);

  }

  public void actionPerformed(ActionEvent e) {
    JMenuItem source = (JMenuItem) (e.getSource());
    if (source == commande1) {
      text1.setText("Commande1");
    }
    else if (source == commande2) {
      text1.setText("Commande2");
    }
    else {
      text1.setText("Commande3");
    }

  }

  public void itemStateChanged(ItemEvent e) {
    JMenuItem source = (JMenuItem) (e.getSource());
    if (source == rb1) {
      if (e.getStateChange() == e.SELECTED) {
        text1.setText("Option 1");
      }
      else {
        text1.setText("Option 2");
      }
    }
    else if (source == chk1) {
      if (e.getStateChange() == e.SELECTED) {
        text1.setText("Choix 1 activé");
      }
      else {
        text1.setText("Choix 1 désactivé");
      }
    }
    else if (source == chk2) {
      if (e.getStateChange() == e.SELECTED) {
        text1.setText("Choix 2 activé");
      }
      else {
        text1.setText("Choix 2 désactivé");
      }
    }

  }

  /** Affichage de la fenêtre*/

  private static void afficher() {

    //Création d'une instance de la classe.
    new Menus();

  }

  public static void main(String[] args) {

    afficher();
  }

}



Menus.java

calle
calle
calle

Suivre la vie de ce site RSS -
HitMaroc.net
Formation GoogleCe site est listé dans la catégorie Informatique : Programmation informatique Dictionnaire