Introduction Contenant Composants Mise en page Exemple JFrame JMenu
Construction/Manipulation 2 / 2
Construction d’un ´el´ement de menu
JMenuItem(),JMenuItem(Icon icon),JMenuItem(String text),
JMenuItem(String text, int mnemonic)
Construction d’un ´el´ement et ajout au menu
JMenuItem menuItem = new JMenuItem("Element",KeyEvent.VK_E);
menu.add(menuItem);
Manipulation
il existe aussi des m´ethodes pour retirer des ´el´ements des menus,
il est possible d’activer ou de d´esactiver des menus ou des ´el´ements,
. . .
Swing 13 / 27
Introduction Contenant Composants Mise en page Exemple JFrame JMenu
Exemple de menu 1 / 3
Exemple20.java (. . . )
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Exemple20 {
public static void main(String[] args) {
MaFenetre mf = new MaFenetre("Fen^etre + Menu");
mf.pack();
mf.setVisible(true);
}
}
Swing 14 / 27
Introduction Contenant Composants Mise en page Exemple JFrame JMenu
Exemple de menu 2 / 3
Exemple20.java (. . . )
class MaFenetre extends JFrame {
public MaFenetre(String titre) {
super(titre);
((JComponent)getContentPane()).setPreferredSize(new Dimension(300,200));
JMenuBar menuBar;
JMenu menu, sousMenu;
JMenuItem menuItem;
JCheckBoxMenuItem cbMenuItem;
JRadioButtonMenuItem rbMenuItem1, rbMenuItem2;
// creation de la barre de menu
menuBar = new JMenuBar();
setJMenuBar(menuBar);
// creation du 1er menu et de ses elements
menu = new JMenu("Menu 1");
menu.setMnemonic(KeyEvent.VK_1);
menuBar.add(menu);
// 1er element
menuItem = new JMenuItem("Simple Item",KeyEvent.VK_S);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.ALT_MASK));
menu.add(menuItem);
// 2eme element
menuItem = new JMenuItem("Item avc image",new ImageIcon("radio.gif"));
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, ActionEvent.ALT_MASK));
menu.add(menuItem);
// un separateur
menu.addSeparator();
Swing 15 / 27
Introduction Contenant Composants Mise en page Exemple JFrame JMenu
Exemple de menu 3 / 3
Exemple20.java
// 3eme et 4eme elements, Groupe de boutons radio
ButtonGroup group = new ButtonGroup();
rbMenuItem1 = new JRadioButtonMenuItem("Bouton radio 1");
rbMenuItem1.setSelected(true);
group.add(rbMenuItem1);
menu.add(rbMenuItem1);
rbMenuItem2 = new JRadioButtonMenuItem("Bouton radio 2");
rbMenuItem2.setSelected(true);
group.add(rbMenuItem2);
menu.add(rbMenuItem2);
// un separateur
menu.addSeparator();
// 5eme element, une case a cocher
cbMenuItem = new JCheckBoxMenuItem("Case a cocher");
cbMenuItem.setMnemonic(KeyEvent.VK_C);
menu.add(cbMenuItem);
// 6eme element, un sous menu
sousMenu = new JMenu("Sous menu");
menu.add(sousMenu);
// elements du sous menu
menuItem = new JMenuItem("Element de sous menu");
sousMenu.add(menuItem);
// creation du 2eme menu
menu = new JMenu("Menu 2");
menu.setMnemonic(KeyEvent.VK_2);
menuBar.add(menu);
}
}Swing 16 / 27