Modifiche
| 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 |
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()
|