Classe menu AWT

introduzione

La classe Menu rappresenta il componente del menu a discesa che viene distribuito da una barra dei menu.

Dichiarazione di classe

Di seguito è riportata la dichiarazione per java.awt.Menu classe:

public class Menu
   extends MenuItem
      implements MenuContainer, Accessible

Costruttori di classi

SN Costruttore e descrizione
1

Menu()

Costruisce un nuovo menu con un'etichetta vuota.

2

Menu(String label)

Costruisce un nuovo menu con l'etichetta specificata.

3

Menu(String label, boolean tearOff)

Costruisce un nuovo menu con l'etichetta specificata, indicando se il menu può essere strappato.

Metodi di classe

SN Metodo e descrizione
1

MenuItem add(MenuItem mi)

Aggiunge la voce di menu specificata a questo menu.

2

void add(String label)

Aggiunge un elemento con l'etichetta specificata a questo menu.

3

void addNotify()

Crea il peer del menu.

4

void addSeparator()

Aggiunge una linea di separazione, o trattino, al menu nella posizione corrente.

5

int countItems()

Deprecato. A partire dalla versione 1.1 di JDK, sostituito da getItemCount ().

6

AccessibleContext getAccessibleContext()

Ottiene l'oggetto AccessibleContext associato a questo menu.

7

MenuItem getItem(int index)

Ottiene l'elemento situato all'indice specificato di questo menu.

8

int getItemCount()

Ottieni il numero di elementi in questo menu.

9

void insert(MenuItem menuitem, int index)

Inserisce una voce di menu in questo menu nella posizione specificata.

10

void insert(String label, int index)

Inserisce una voce di menu con l'etichetta specificata in questo menu nella posizione specificata.

11

void insertSeparator(int index)

Inserisce un separatore nella posizione specificata.

12

boolean isTearOff()

Indica se questo menu è un menu a strappo.

13

String paramString()

Restituisce una stringa che rappresenta lo stato di questo menu.

14

void remove(int index)

Rimuove la voce di menu all'indice specificato da questo menu.

15

void remove(MenuComponent item)

Rimuove la voce di menu specificata da questo menu.

16

void removeAll()

Rimuove tutti gli elementi da questo menu.

17

void removeNotify()

Rimuove il peer dal menu.

Metodi ereditati

Questa classe eredita i metodi dalle classi seguenti:

  • java.awt.MenuItem

  • java.awt.MenuComponent

  • java.lang.Object

Esempio di menu

Crea il seguente programma java usando qualsiasi editor di tua scelta, diciamo D:/ > AWT > com > tutorialspoint > gui >

AWTMenuDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class AWTMenuDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AWTMenuDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AWTMenuDemo  awtMenuDemo = new AWTMenuDemo();     
      awtMenuDemo.showMenuDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showMenuDemo(){
      //create a menu bar
      final MenuBar menuBar = new MenuBar();

      //create menus
      Menu fileMenu = new Menu("File");
      Menu editMenu = new Menu("Edit"); 
      final Menu aboutMenu = new Menu("About");

      //create menu items
      MenuItem newMenuItem = 
         new MenuItem("New",new MenuShortcut(KeyEvent.VK_N));
      newMenuItem.setActionCommand("New");

      MenuItem openMenuItem = new MenuItem("Open");
      openMenuItem.setActionCommand("Open");

      MenuItem saveMenuItem = new MenuItem("Save");
      saveMenuItem.setActionCommand("Save");

      MenuItem exitMenuItem = new MenuItem("Exit");
      exitMenuItem.setActionCommand("Exit");

      MenuItem cutMenuItem = new MenuItem("Cut");
      cutMenuItem.setActionCommand("Cut");

      MenuItem copyMenuItem = new MenuItem("Copy");
      copyMenuItem.setActionCommand("Copy");

      MenuItem pasteMenuItem = new MenuItem("Paste");
      pasteMenuItem.setActionCommand("Paste");
   
      MenuItemListener menuItemListener = new MenuItemListener();

      newMenuItem.addActionListener(menuItemListener);
      openMenuItem.addActionListener(menuItemListener);
      saveMenuItem.addActionListener(menuItemListener);
      exitMenuItem.addActionListener(menuItemListener);
      cutMenuItem.addActionListener(menuItemListener);
      copyMenuItem.addActionListener(menuItemListener);
      pasteMenuItem.addActionListener(menuItemListener);

      final CheckboxMenuItem showWindowMenu = 
         new CheckboxMenuItem("Show About", true);
      showWindowMenu.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            if(showWindowMenu.getState()){
               menuBar.add(aboutMenu);
            }else{
               menuBar.remove(aboutMenu);
            }
         }
      });

      //add menu items to menus
      fileMenu.add(newMenuItem);
      fileMenu.add(openMenuItem);
      fileMenu.add(saveMenuItem);
      fileMenu.addSeparator();
      fileMenu.add(showWindowMenu);
      fileMenu.addSeparator();
      fileMenu.add(exitMenuItem);

      editMenu.add(cutMenuItem);
      editMenu.add(copyMenuItem);
      editMenu.add(pasteMenuItem);

      //add menu to menubar
      menuBar.add(fileMenu);
      menuBar.add(editMenu);
      menuBar.add(aboutMenu);

      //add menubar to the frame
      mainFrame.setMenuBar(menuBar);
      mainFrame.setVisible(true);  
   }

   class MenuItemListener implements ActionListener {
      public void actionPerformed(ActionEvent e) {            
         statusLabel.setText(e.getActionCommand() 
            + " MenuItem clicked.");
      }    
   }
}

Compilare il programma utilizzando il prompt dei comandi. Vai aD:/ > AWT e digita il seguente comando.

D:\AWT>javac com\tutorialspoint\gui\AWTMenuDemo.java

Se non viene visualizzato alcun errore, significa che la compilazione è riuscita. Esegui il programma utilizzando il seguente comando.

D:\AWT>java com.tutorialspoint.gui.AWTMenuDemo

Verificare il seguente output. (Fare clic sul menu File.)