java.awt
Class MenuBar

java.lang.Object
  |
  +--java.awt.MenuComponent
        |
        +--java.awt.MenuBar

public class MenuBar
extends MenuComponent
implements MenuContainer

The MenuBar class encapsulates the platform's concept of a menu bar bound to a frame. In order to associate the menu bar with a Frame object, call the frame's setMenuBar method.

This is what a menu bar might look like:

A menu bar handles keyboard shortcuts for menu items, passing them along to its child menus. (Keyboard shortcuts, which are optional, provide the user with an alternative to the mouse for invoking a menu item and the action that is associated with it.) Each menu item can maintain an instance of MenuShortcut. The MenuBar class defines several methods, shortcuts() and getShortcutMenuItem(java.awt.MenuShortcut) that retrieve information about the shortcuts a given menu bar is managing.

Since:
JDK1.0
See Also:
Frame, Frame.setMenuBar(java.awt.MenuBar), Menu, MenuItem, MenuShortcut, Serialized Form

Field Summary
private static String base
           
(package private)  Menu helpMenu
          This menu is a special menu dedicated to help.
private  int menuBarSerializedDataVersion
          The MenuBar's serialized data version.
(package private)  Vector menus
          This field represents a vector of the actual menus that will be part of the MenuBar.
private static int nameCounter
           
private static long serialVersionUID
           
 
Fields inherited from class java.awt.MenuComponent
actionListenerK, appContext, font, itemListenerK, name, nameExplicitlySet, newEventsOnly, parent, peer, serialVersionUID
 
Constructor Summary
MenuBar()
          Creates a new menu bar.
 
Method Summary
(package private) static void ()
           
 Menu add(Menu m)
          Adds the specified menu to the menu bar.
 void addNotify()
          Creates the menu bar's peer.
(package private)  String constructComponentName()
          Construct a name for this MenuComponent.
 int countMenus()
          Deprecated. As of JDK version 1.1, replaced by getMenuCount().
 void deleteShortcut(MenuShortcut s)
          Deletes the specified menu shortcut.
 Menu getHelpMenu()
          Gets the help menu on the menu bar.
 Menu getMenu(int i)
          Gets the specified menu.
 int getMenuCount()
          Gets the number of menus on the menu bar.
(package private)  int getMenuCountImpl()
           
(package private)  Menu getMenuImpl(int i)
           
 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.
(package private)  boolean handleShortcut(KeyEvent e)
           
private static void initIDs()
          Initialize JNI field and method IDs
private  void readObject(ObjectInputStream s)
          Read the ObjectInputStream and if it isnt null add a listener to receive item events fired by the MenuBar.
 void remove(int index)
          Removes the menu located at the specified index from this menu bar.
 void remove(MenuComponent m)
          Removes the specified menu component from this menu bar.
 void removeNotify()
          Removes the menu bar's peer.
 void setHelpMenu(Menu m)
          Sets the help menu on this menu bar to be the specified menu.
 Enumeration shortcuts()
          Gets an enumeration of all menu shortcuts this menu bar is managing.
private  void writeObject(ObjectOutputStream s)
          Writes default serializable fields to stream.
 
Methods inherited from class java.awt.MenuComponent
dispatchEvent, dispatchEventImpl, eventEnabled, getFont_NoClientCode, getFont, getName, getParent_NoClientCode, getParent, getPeer, getTreeLock, paramString, postEvent, processEvent, setFont, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

menus

Vector menus
This field represents a vector of the actual menus that will be part of the MenuBar.
See Also:
countMenus()

helpMenu

Menu helpMenu
This menu is a special menu dedicated to help. The one thing to note about this menu is that on some platforms it appears at the right edge of the menubar.
See Also:
getHelpMenu(), setHelpMenu()

base

private static final String base

nameCounter

private static int nameCounter

serialVersionUID

private static final long serialVersionUID

menuBarSerializedDataVersion

private int menuBarSerializedDataVersion
The MenuBar's serialized data version.
Constructor Detail

MenuBar

public MenuBar()
Creates a new menu bar.
Method Detail

static void ()

constructComponentName

String constructComponentName()
Construct a name for this MenuComponent. Called by getName() when the name is null.
Overrides:
constructComponentName in class MenuComponent

addNotify

public void addNotify()
Creates the menu bar's peer. The peer allows us to change the appearance of the menu bar without changing any of the menu bar's functionality.

removeNotify

public void removeNotify()
Removes the menu bar's peer. The peer allows us to change the appearance of the menu bar without changing any of the menu bar's functionality.
Overrides:
removeNotify in class MenuComponent

getHelpMenu

public Menu getHelpMenu()
Gets the help menu on the menu bar.
Returns:
the help menu on this menu bar.

setHelpMenu

public void setHelpMenu(Menu m)
Sets the help menu on this menu bar to be the specified menu.
Parameters:
m - the menu to be set as the help menu.

add

public Menu add(Menu m)
Adds the specified menu to the menu bar.
Parameters:
m - the menu to be added.
Returns:
the menu added.
See Also:
remove(int), remove(java.awt.MenuComponent)

remove

public void remove(int index)
Removes the menu located at the specified index from this menu bar.
Parameters:
index - the position of the menu to be removed.
See Also:
add(java.awt.Menu)

remove

public void remove(MenuComponent m)
Removes the specified menu component from this menu bar.
Specified by:
remove in interface MenuContainer
Parameters:
m - the menu component to be removed.
See Also:
add(java.awt.Menu)

getMenuCount

public int getMenuCount()
Gets the number of menus on the menu bar.
Returns:
the number of menus on the menu bar.
Since:
JDK1.1

countMenus

public int countMenus()
Deprecated. As of JDK version 1.1, replaced by getMenuCount().

getMenuCountImpl

final int getMenuCountImpl()

getMenu

public Menu getMenu(int i)
Gets the specified menu.
Parameters:
i - the index position of the menu to be returned.
Returns:
the menu at the specified index of this menu bar.

getMenuImpl

final Menu getMenuImpl(int i)

shortcuts

public Enumeration shortcuts()
Gets an enumeration of all menu shortcuts this menu bar is managing.
Returns:
an enumeration of menu shortcuts that this menu bar is managing.
Since:
JDK1.1
See Also:
MenuShortcut

getShortcutMenuItem

public 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.
Parameters:
s - the specified menu shortcut.
Since:
JDK1.1
See Also:
MenuItem, MenuShortcut

handleShortcut

boolean handleShortcut(KeyEvent e)

deleteShortcut

public void deleteShortcut(MenuShortcut s)
Deletes the specified menu shortcut.
Parameters:
s - the menu shortcut to delete.
Since:
JDK1.1

writeObject

private void writeObject(ObjectOutputStream s)
                  throws ClassNotFoundException,
                         IOException
Writes default serializable fields to stream. Writes a list of serializable ItemListener(s) as optional data. The non-serializable ItemListner(s) are detected and no attempt is made to serialize them.
See Also:
AWTEventMulticaster.save(ObjectOutputStream, String, EventListener), java.awt.Component.itemListenerK

readObject

private void readObject(ObjectInputStream s)
                 throws ClassNotFoundException,
                        IOException
Read the ObjectInputStream and if it isnt null add a listener to receive item events fired by the MenuBar. Unrecognised keys or values will be Ignored.
Overrides:
readObject in class MenuComponent
See Also:
removeActionListener(), addActionListener()

initIDs

private static void initIDs()
Initialize JNI field and method IDs