Utilizzare i Munu in Java
Prof. Francesco Accarino
IIS Altiero Spinelli via Leopardi 132
Sesto San Giovanni
Gerarchia per le classi menu
Per la documentazione completa:
http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html
Appunti di Informatica Prof. Accarino
2
Costruire un menu
Un menu in una applicazione non è altro che una MenuBar in cui vi sono vari
menu.
Ad esempio le voci di menu File Edit ed Help, In Java sono degli oggetti della
classe Menu, e vanno aggiunte ad un oggetto della classe MenuBar il quale va
aggiunto alla finestra.
Ogni menu ha varie voci, ad esempio il menu File avrà le voci: Apri, Chiudi,
Salva e Esci, questi in Java sono degli oggetti della classe MenuItem (o anche
Menu se conterranno altri sottomenu).
Quindi se ad una applicazione
vogliamo aggiungere un menù
MenuBar
dobbiamo fare le seguenti cose:
File
Apri
Chiudi
• Creare gli oggetti MenuItem
Salva
• Creare gli oggetti menu ed
Esci
attaccarvi i MenuItem
• Creare una MenuBar e
attaccare i Menu
Appunti di Informatica Prof. Accarino
3
Esempio
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("File");
JMenuItem apri = new JMenuItem("Apri");
JMenuItem esci = new JMenuItem("Esci");
JMenu radioButtonMenu = new JMenu("Setta sfondo");
JRadioButtonMenuItem buttonBlue = new JRadioButtonMenuItem("Blue");
JRadioButtonMenuItem buttonRed = new JRadioButtonMenuItem("Rosso");
JRadioButtonMenuItem buttonGreen = new JRadioButtonMenuItem("Verde");
ButtonGroup group = new ButtonGroup();
group.add(buttonBlue);
group.add(buttonGreen);
group.add(buttonRed);
radioButtonMenu.add(buttonBlue);
radioButtonMenu.add(buttonGreen);
radioButtonMenu.add(buttonRed);
menuFile.add(apri);
menuFile.add(radioButtonMenu);
menuFile.addSeparator();
menuFile.add(esci);
JMenu menuHelp = new JMenu("Aiuto");
menuBar.add(menuFile);
menuBar.add(menuHelp);
Appunti di Informatica Prof. Accarino
4
Considerazioni su Esempio
Un Menu può avere un sottomenu
JMenu radioButtonMenu = new
JMenu("Setta sfondo");
JRadioButtonMenuItem buttonBlue = new
JRadioButtonMenuItem("Blue");
radioButtonMenu.add(buttonBlue);
menuFile.add(radioButtonMenu);
I MenuItem Possono contenere
RadioButton e CheckBox
JCheckBoxMenuItem jcbm= new
JCheckBoxMenuItem(“Testo”);
Un menu può essere suddiviso tramite separatori
menuFile.addSeparator();
Appunti di Informatica Prof. Accarino
5
Esempio dal sito del tutorial di Java
JMenuItem menuItem = new JMenuItem("Both text and icon", new
ImageIcon("images/middle.gif"));
JMenuItem menuItem = new JMenuItem(new ImageIcon("images/middle.gif"));
Appunti di Informatica Prof. Accarino
6
Aggiunta di combinazioni di tasti

Le voci di menu sono quasi sempre rappresentate con una lettera
sottolineata che rappresenta la scorciatoia da tastiera mediante la
combinazione Alt+lettera per attivare la voce di menu. Esempio:
JMenu menuFile = new JMenu("Setup");
menuFile.setMnemonic(KeyEvent.VK_S);
JMenu menuHelp = new JMenu("Aiuto");
menuHelp.setMnemonic(KeyEvent.VK_A);
Appunti di Informatica Prof. Accarino
7