位置:首頁 > Java技術 > AWT > AWT Menu類

AWT Menu類

菜單類表示這是從菜單欄部署的下拉菜單組件。

類的聲明

以下是聲明的java.awt.Menu類:

public class Menu
   extends MenuItem
      implements MenuContainer, Accessible

類的構造函數

S.N. 構造函數與說明
1 Menu() 
Constructs a new menu with an empty label.
2 Menu(String label) 
Constructs a new menu with the specified label.
3 Menu(String label, boolean tearOff) 
Constructs a new menu with the specified label, indicating whether the menu can be torn off.

類方法

S.N. 方法和說明
1 MenuItem add(MenuItem mi) 
Adds the specified menu item to this menu.
2 void add(String label) 
Adds an item with the specified label to this menu.
3 void addNotify() 
Creates the menu's peer.
4 void addSeparator() 
Adds a separator line, or a hypen, to the menu at the current position.
5 int countItems() 
Deprecated. As of JDK version 1.1, replaced by getItemCount().
6 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this Menu.
7 MenuItem getItem(int index) 
Gets the item located at the specified index of this menu.
8 int getItemCount() 
Get the number of items in this menu.
9 void insert(MenuItem menuitem, int index) 
Inserts a menu item into this menu at the specified position.
10 void insert(String label, int index) 
Inserts a menu item with the specified label into this menu at the specified position.
11 void insertSeparator(int index) 
Inserts a separator at the specified position.
12 boolean isTearOff() 
Indicates whether this menu is a tear-off menu.
13 String paramString() 
Returns a string representing the state of this Menu.
14 void remove(int index) 
Removes the menu item at the specified index from this menu.
15 void remove(MenuComponent item) 
Removes the specified menu item from this menu.
16 void removeAll() 
Removes all items from this menu.
17 void removeNotify() 
Removes the menu's peer.

繼承的方法

這個類繼承的方法從以下類:

  • java.awt.MenuItem

  • java.awt.MenuComponent

  • java.lang.Object

Menu 實例

選擇使用任何編輯器創建以下java程序 D:/ > AWT > com > yiibai > gui >

AWTMenuDemo
package com.yiibai.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.");
      }    
   }
}

編譯程序,使用命令提示符。進入到D:/> AWT,然後鍵入以下命令。

D:AWT>javac comyiibaiguiAWTMenuDemo.java

如果冇有錯誤出現,這意味著編譯成功。使用下麵的命令來運行程序。

D:AWT>java com.yiibai.gui.AWTMenuDemo

驗證下麵的輸出。(點擊“文件”菜單。)

AWT Menu