位置:首页 > Java技术 > AWT > AWT MenuItem类

AWT MenuItem类

MenuBar类代表实际的菜单中的项目。菜单中的所有项目应该从类菜单项,或它的一个子类派生。默认情况下,它体现了一种简单的标记的菜单项。

类的声明

以下是声明的java.awt.MenuItem类:

public class MenuItem
   extends MenuComponent
      implements Accessible

类的构造函数

S.N. 构造函数与说明
1 MenuItem() 
Constructs a new MenuItem with an empty label and no keyboard shortcut.
2 MenuItem(String label) 
Constructs a new MenuItem with the specified label and no keyboard shortcut.
3 MenuItem(String label, MenuShortcut s) 
Create a menu item with an associated keyboard shortcut.

类方法

S.N. 方法及说明
1 void addActionListener(ActionListener l) 
Adds the specified action listener to receive action events from this menu item.
2 void addNotify() 
Creates the menu item's peer.
3 void deleteShortcut() 
Delete any MenuShortcut object associated with this menu item.
4 void disable() 
Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).
5 protected void disableEvents(long eventsToDisable) 
Disables event delivery to this menu item for events defined by the specified event mask parameter.
6 void enable() 
Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).
7 void enable(boolean b) 
Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).
8 protected void enableEvents(long eventsToEnable) 
Enables event delivery to this menu item for events to be defined by the specified event mask parameter.
9 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this MenuItem.
10 String getActionCommand() 
Gets the command name of the action event that is fired by this menu item.
11 ActionListener[] getActionListeners() 
Returns an array of all the action listeners registered on this menu item.
12 String getLabel() 
Gets the label for this menu item.
13 EventListener[] getListeners(Class listenerType) 
Returns an array of all the objects currently registered as FooListeners upon this MenuItem.
14 MenuShortcut getShortcut() 
Get the MenuShortcut object associated with this menu item.
15 boolean isEnabled() 
Checks whether this menu item is enabled.
16 String paramString() 
Returns a string representing the state of this MenuItem.
17 protected void processActionEvent(ActionEvent e) 
Processes action events occurring on this menu item, by dispatching them to any registered ActionListener objects.
18 protected void processEvent(AWTEvent e) 
Processes events on this menu item.
19 void removeActionListener(ActionListener l) 
Removes the specified action listener so it no longer receives action events from this menu item.
20 void setActionCommand(String command) 
Sets the command name of the action event that is fired by this menu item.
21 void setEnabled(boolean b) 
Sets whether or not this menu item can be chosen.
22 void setLabel(String label) 
Sets the label for this menu item to the specified label.
23 void setShortcut(MenuShortcut s) 
Set the MenuShortcut object associated with this menu item.

继承的方法

这个类继承的方法从以下类:

  • 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 MenuItem