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