Checkbox dans un menu – JCheckBoxMenuItem | Java Swing

La classe JCheckBoxMenuItem représente une case à cocher qui peut être incluse dans un menu. Un CheckBoxMenuItem peut être associé à du texte ou à une icône graphique. MenuItem peut être sélectionné ou désélectionné. MenuItems peut être configuré et contrôlé par des actions.


 
 

Les constructeurs de la classe JCheckBoxMenuItem sont:
Constructeurs de JCheckBoxMenuItem
Description
JCheckBoxMenuItem() Il crée un checkBox dans le menu initialement non sélectionné sans texte ni icône définis.
JCheckBoxMenuItem(Action a) Il crée un checkBox dans le menu dont les propriétés sont extraites de l’action fournie.
JCheckBoxMenuItem(Icon icon) Il crée un checkBox dans le menu initialement non sélectionné avec une icône.
JCheckBoxMenuItem(String text) Il crée un checkBox dans le menu initialement non sélectionné avec du texte.
JCheckBoxMenuItem(String text, boolean b) Il crée un checkBox dans le menu avec le texte et l’état de sélection spécifiés.
JCheckBoxMenuItem(String text, Icon icon) Il crée un checkBox dans le menu initialement non sélectionné avec le texte et l’icône spécifiés.
JCheckBoxMenuItem(String text, Icon icon, boolean b) Il crée un checkBox dans le menu avec le texte, l’icône et l’état de sélection spécifiés.

 

Les méthodes couramment utilisées sont:
  • getAccessibleContext(): Il obtient le AccessibleContext associé à ce JCheckBoxMenuItem.
  • getSelectedObjects(): Il renvoie un tableau contenant l’étiquette du CheckBox ou null si il n’est pas sélectionnée.
  • getState(): Il renvoie l’état du CheckBox.
  • getUIClassID(): Il renvoie le nom de la classe L&F qui rend ce composant.
  • paramString(): Il renvoie une représentation sous forme de chaîne de ce JCheckBoxMenuItem.
  • setState(boolean b): Il définit l’état du CheckBox.

 
 

Exemple:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyJCheckBoxMenuItem 
{
   private JFrame f;

   public MyJCheckBoxMenuItem(){
      f = new JFrame("Exemple Checkbox dans le menu");
      f.setSize(300,300);
      f.setLayout(new GridLayout(3, 1));
      f.setVisible(true);  
   }

   private void showMenu(){
      //créer une barre de menus
      final JMenuBar bar = new JMenuBar();

      //créer des menus
      JMenu file = new JMenu("File");
      JMenu edit = new JMenu("Edit"); 
      final JMenu help = new JMenu("Help");
     
      //créer les éléments du menu
      JMenuItem newF = new JMenuItem("New");
      JMenuItem openF = new JMenuItem("Open");

      final JCheckBoxMenuItem showhelp = new JCheckBoxMenuItem(
         "Show Help", true);
      showhelp.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) 
		 {   
            if(showhelp.getState()){
               bar.add(help);
            } else {
               bar.remove(help);
            }
         }
      });
      //ajouter les éléments du menu au menu principal
      file.add(newF);
      file.add(openF);
      file.addSeparator();
      file.add(showhelp); 

      //ajouter le menu à la barre de menus
      bar.add(file);
      bar.add(edit);
      bar.add(help);       

      //ajouter la barre de menus au frame
      f.setJMenuBar(bar);
      f.setVisible(true);     
   }
   
   public static void main(String[] args){
      MyJCheckBoxMenuItem obj = new MyJCheckBoxMenuItem();     
      obj.showMenu();
   }
}

Sortie:


 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *