AWT MenuItem 类

简介

MenuBar 类表示菜单中的实际项。菜单中的所有项都应从 MenuItem 类或其子类之一派生。默认情况下,它体现一个简单的带标签的菜单项。

类声明

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

public class MenuItem
    extends MenuComponent
        implements Accessible

类构造函数

S.N.构造函数 &描述
1

MenuItem()

构造一个带有空标签且没有键盘快捷键的新 MenuItem。

2

MenuItem(String label)

构造一个带有指定标签且没有键盘快捷键的新 MenuItem。

3

MenuItem(String label, MenuShortcut s)

创建一个带有关联键盘快捷键的菜单项。

类方法

S.N.方法与说明
1

void addActionListener(ActionListener l)

添加指定操作侦听器以接收来自此菜单项的操作事件。

2

void addNotify()

创建菜单项的对等项。

3

void deleteShortcut()

删除与此菜单项关联的任何 MenuShortcut 对象。

4

void disable()

已弃用。从 JDK 1.1 版开始,由 setEnabled(boolean) 取代。

5

protected void disableEvents(long eventsToDisable)

对于由指定事件掩码参数定义的事件,禁用向此菜单项传递事件。

6

void enable()

已弃用。从 JDK 1.1 版开始,由 setEnabled(boolean) 取代。

7

void enable(boolean b)

已弃用。从 JDK 1.1 版开始,由 setEnabled(boolean) 取代。

8

protected void enableEvents(long eventsToEnable)

启用事件传递到此菜单项,以便由指定的事件掩码参数定义事件。

9

AccessibleContext getAccessibleContext()

获取与此 MenuItem 关联的 AccessibleContext。

10

String getActionCommand()

获取此菜单触发的操作事件的命令名称项。

11

ActionListener[] getActionListeners()

返回在此菜单项上注册的所有动作侦听器的数组。

12

String getLabel()

获取此菜单项的标签。

13

EventListener[] getListeners(Class listenerType)

返回在此 MenuItem 上当前注册为 FooListeners 的所有对象的数组。

14

MenuShortcut getShortcut()

获取与此菜单项关联的 MenuShortcut 对象。

15

boolean isEnabled()

检查此菜单项是否已启用。

16

String paramString()

返回表示此 MenuItem 状态的字符串。

17

protected void processActionEvent(ActionEvent e)

通过将发生在此菜单项上的动作事件分派给任何已注册的 ActionListener 对象来处理这些事件。

18

protected void processEvent(AWTEvent e)

处理此菜单项上的事件。

19

void removeActionListener(ActionListener l)

删除指定的操作侦听器,使其不再接收来自此菜单项的操作事件。

20

void setActionCommand(String command)

设置由此菜单项触发的操作事件的命令名称。

21

void setEnabled(boolean b)

设置此菜单项是否可以选择。

22

void setLabel(String label)

将此菜单项的标签设置为指定标签。

23

void setShortcut(MenuShortcut s)

设置与此菜单项关联的 MenuShortcut 对象。

继承的方法

此类从以下类继承方法:

  • java.awt.MenuComponent

  • java.lang.Object

MenuItem 示例

使用您选择的任何编辑器在 D:/ > AWT > com > tutorialspoint > gui > 中创建以下 Java 程序

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.");
      }    
   }
}

使用命令提示符编译程序。转到 D:/ > AWT 并键入以下命令。

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

如果没有错误,则表示编译成功。使用以下命令运行程序。

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

Verify the following output. (Click on File Menu. Select any menu item.)

AWT MenuItem

awt_menu.html