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

AWT MenuBar类

MenuBar类绑定到框架提供了菜单栏,并且因平台而异。

类的声明

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

public class MenuBar
   extends MenuComponent
      implements MenuContainer, Accessible

类的构造函数

S.N. 构造函数与说明
1 MenuBar() 
Creates a new menu bar.

类方法

S.N. 方法及说明
1 void dispatchEvent(AWTEvent e) 
2 Menu add(Menu m) 
Adds the specified menu to the menu bar.
3 void addNotify() 
Creates the menu bar's peer.
4 int countMenus() 
Deprecated. As of JDK version 1.1, replaced by getMenuCount().
5 void deleteShortcut(MenuShortcut s) 
Deletes the specified menu shortcut.
6 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this MenuBar.
7 Menu getHelpMenu() 
Gets the help menu on the menu bar.
8 Menu getMenu(int i) 
Gets the specified menu.
9 int getMenuCount() 
Gets the number of menus on the menu bar.
10 MenuItem getShortcutMenuItem(MenuShortcut s) 
Gets the instance of MenuItem associated with the specified MenuShortcut object, or null if none of the menu items being managed by this menu bar is associated with the specified menu shortcut.
11 void remove(int index) 
Removes the menu located at the specified index from this menu bar.
12 void remove(MenuComponent m) 
Removes the specified menu component from this menu bar.
13 void removeNotify() 
Removes the menu bar's peer.
14 void setHelpMenu(Menu m) 
Sets the specified menu to be this menu bar's help menu.
15 Enumeration shortcuts() 
Gets an enumeration of all menu shortcuts this menu bar is managing.

继承的方法

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

  • java.awt.MenuComponent

  • java.lang.Object

MenuBar 实例

在选择使用任何编辑器创建以下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 MenuBar