AWT MenuItem 类



介绍

MenuBar 类代表菜单中的实际项目。菜单中的所有项目都应派生自 MenuItem 类或其子类之一。默认情况下,它包含一个简单的带标签的菜单项。

类声明

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

public class MenuItem
   extends MenuComponent
      implements Accessible

类构造函数

序号构造函数 & 描述
1

MenuItem()

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

2

MenuItem(String label)

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

3

MenuItem(String label, MenuShortcut s)

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

类方法

序号方法 & 描述
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 示例

使用您选择的任何编辑器创建以下 Java 程序,例如在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.");
      }    
   }
}

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

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

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

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

验证以下输出。(单击“文件”菜单。选择任何菜单项。)

AWT MenuItem
awt_menu.htm
广告