Vedi la versione AWT.
Caratteristiche aggiuntive rispetto a #1
- la prima voce della barra dei menu, ALFA, presenta una linea separatrice
- la seconda voce della barra dei menu, BETA, presenta un sottomenu, BETA-C
import java.awt.*; import java.awt.event.*; import javax.swing.*; class MenuJFrame2 extends JFrame implements ActionListener { public MenuJFrame2() { JMenuBar mb=new JMenuBar(); JMenu m1=new JMenu("ALFA"), m2=new JMenu("BETA"), m3=new JMenu("GAMMA"), m23=new JMenu("BETA-C"); JMenuItem m11=new JMenuItem("ALFA-A"), m21=new JMenuItem("BETA-A"), m31=new JMenuItem("GAMMA-A"), m12=new JMenuItem("ALFA-B"), m22=new JMenuItem("BETA-B"), m13=new JMenuItem("ALFA-C"), m14=new JMenuItem("USCITA"), m24=new JMenuItem("BETA-D"), m231=new JMenuItem("BETA-C-A"), m232=new JMenuItem("BETA-C-B"), m233=new JMenuItem("BETA-C-C"); m11.addActionListener(this); m21.addActionListener(this); m31.addActionListener(this); m12.addActionListener(this); m22.addActionListener(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); m1.add(m13); m2.add(m23); m1.addSeparator(); m2.add(m24); m1.add(m14); m23.add(m231); m23.add(m232); m23.add(m233); this.setJMenuBar(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!"; System.out.println(msg); } public static void main(String args[]) { MenuJFrame2 mf=new MenuJFrame2(); } }