Ulteriori caratteristiche
- la prima voce del primo menu, ALFA-A, presenta un tasto di scelta rapida, Control-A
- la terza voce della barra dei menu, GAMMA, presenta una casella di scelta, Chiacchierone
Interagisci con l’applicazione e i messaggi corrispondenti appariranno nella console.
import java.awt.*; import java.awt.event.*; class MenuFrame3 extends Frame implements ActionListener, ItemListener { CheckboxMenuItem cbmi; public MenuFrame3() { MenuShortcut ms=new MenuShortcut(KeyEvent.VK_A, false); cbmi=new CheckboxMenuItem("Chiaccherone", true); MenuBar mb=new MenuBar(); Menu m1=new Menu("ALFA"), m2=new Menu("BETA"), m3=new Menu("GAMMA"), m23=new Menu("BETA-C"); MenuItem m11=new MenuItem("ALFA-A", ms), m21=new MenuItem("BETA-A"), m31=new MenuItem("GAMMA-A"), m12=new MenuItem("ALFA-B"), m22=new MenuItem("BETA-B"), m13=new MenuItem("ALFA-C"), m14=new MenuItem("USCITA"), m24=new MenuItem("BETA-D"), m231=new MenuItem("BETA-C-A"), m232=new MenuItem("BETA-C-B"), m233=new MenuItem("BETA-C-C"); m11.addActionListener(this); m21.addActionListener(this); m31.addActionListener(this); m12.addActionListener(this); m22.addActionListener(this); cbmi.addItemListener(this); m13.addActionListener(this); m14.addActionListener(this); m24.addActionListener(this); m231.addActionListener(this); m232.addActionListener(this); m233.addActionListener(this); mb.add(m1); mb.add(m2); mb.add(m3); m1.add(m11); m2.add(m21); m3.add(m31); m1.add(m12); m2.add(m22); m3.add(cbmi); m1.add(m13); m2.add(m23); m1.add("-"); m2.add(m24); m1.add(m14); m23.add(m231); m23.add(m232); m23.add(m233); this.setMenuBar(mb); this.setSize(640, 480); this.setVisible(true); } public void actionPerformed(ActionEvent ae) { String nome=ae.getActionCommand(); String msg =""; if(nome.equals("ALFA-A") ) msg="...ALFA...A..."; else if(nome.equals("ALFA-B") ) msg="...ALFA...B..."; else if(nome.equals("ALFA-C") ) msg="...ALFA...C..."; else if(nome.equals("USCITA") ) System.exit(0); else if(nome.equals("BETA-A") ) msg="...BETA...A..."; else if(nome.equals("BETA-B") ) msg="...BETA...B..."; else if(nome.equals("BETA-C-A")) msg="...BETA...C...A..."; else if(nome.equals("BETA-C-B")) msg="...BETA...C...B..."; else if(nome.equals("BETA-C-C")) msg="...BETA...C...C..."; else if(nome.equals("BETA-D") ) msg="...BETA...D..."; else if(nome.equals("GAMMA-A") ) msg="...GAMMA..A..."; else msg="Evento non previsto!"; if(cbmi.getState()) System.out.println(msg); } public void itemStateChanged(ItemEvent ie) { String msg=""; // ie.getItem() --> Object switch(ie.getStateChange()) // cbmi.getState() --> boolean { case ItemEvent.SELECTED : msg="Hai SELEZIONATO..." ; break; case ItemEvent.DESELECTED: msg="Hai DESELEZIONATO..."; break; } System.out.println(msg); } public static void main(String args[]) { MenuFrame3 mf=new MenuFrame3(); } }
Osserva
-
MenuShortcut, MenuItem
-
CheckboxMenuItem, addItemListener(), itemStateChanged(), getItem(), getStateChange()