JMenu, JMenuBar et JMenuItem | Java Swing
La classe JMenuBar est utilisée pour afficher la barre de menu sur la fenêtre. Il peut avoir plusieurs menus.
L’objet de la classe JMenu permet de créer un menu déroulant qui est affiché à partir de la barre de menus. Il hérite de la classe JMenuItem.
L’objet de la classe JMenuItem ajoute un simple élément au menu. Les éléments utilisés dans un menu doivent appartenir au JMenuItem ou à l’une de ses sous-classes.
Liste des constructeurs:
JMenuBar() | Crée une nouvelle barre de menus. |
JMenu() | Crée un nouveau menu sans texte. |
JMenu(String name) | Crée un nouveau menu avec un nom spécifié. |
JMenu(String name, boolean b) | Crée un nouveau menu avec un nom spécifié et un booléen |
Les méthodes couramment utilisées:
- add(JMenu c) : Ajoute un menu (objet JMenu) à la barre de menus.
- add(Component c) : Ajouter un composant à la fin de JMenu.
- add(Component c, int index) : Ajoute un composant à l’index spécifié de JMenu.
- add(JMenuItem menuItem) : Ajoute un élément de menu à la fin du menu.
- add(String s) : Crée un élément de menu avec la chaîne spécifiée et l’ajoute à la fin du menu.
- getItem(int index) : retourne l’élément spécifié à l’index donné.
Exemple:
import javax.swing.*; class MyMenu { JMenu menu, smenu; JMenuItem e1, e2, e3, e4, e5, e6; MyMenu() { // Créer le frame JFrame frame = new JFrame("Exemple Menu"); // Créer la barre de menu JMenuBar menubar = new JMenuBar(); // Créer le menu menu = new JMenu("Menu"); // Créer le sous menu smenu = new JMenu("Sous Menu"); // Créer les éléments du menu et sous menu e1 = new JMenuItem("Element 1"); e2 = new JMenuItem("Element 2"); e3 = new JMenuItem("Element 3"); e4 = new JMenuItem("Element 4"); e5 = new JMenuItem("Element 5"); e6 = new JMenuItem("Element 6"); // Ajouter les éléments au menu menu.add(e1); menu.add(e2); menu.add(e3); // Ajouter les éléments au sous menu smenu.add(e4); smenu.add(e5); smenu.add(e6); // Ajouter le sous menu au menu principale menu.add(smenu); // Ajouter le menu au barre de menu menubar.add(menu); // Ajouter la barre de menu au frame frame.setJMenuBar(menubar); frame.setSize(300,300); frame.setLayout(null); frame.setVisible(true); } public static void main(String args[]) { new MyMenu(); } }
Sortie:
