Barra dei menu #2

Caratteristiche aggiuntive

  1. la prima voce della barra dei menu, ALFA, presenta una linea separatrice
  2. la seconda voce della barra dei menu, BETA, presenta un sottomenu, BETA-C

Interagisci con l’applicazione e i messaggi corrispondenti appariranno nella console.

import java.awt.*;
import java.awt.event.*;
 
class MenuFrame2 extends    Frame
                 implements ActionListener
{
    public MenuFrame2()
    {
       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"),  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); 
                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.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!";
 
       System.out.println(msg);
    }
 
    public static void main(String args[])
    {
       MenuFrame2 mf=new MenuFrame2();
    }
}