Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Swing 1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class JMenuBar

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.JMenuBar

Direct Known Subclasses:
  BasicInternalFrameTitlePane.SystemMenuBar

public class JMenuBar
extends JComponent
implements Accessible, MenuElement

An implementation of a MenuBar. You add JMenu objects to the menu bar to construct a menu. When the user selects a JMenu object, its associated JPopupMenu is displayed, allowing the user to select one of the JMenuItems on it.

For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the JMenuBar key assignments.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
  `JMenu`, `JPopupMenu`, `JMenuItem`, Serialized Form

Inner Class Summary
`protected class` | `JMenuBar.AccessibleJMenuBar` The class used to obtain the accessible role for this object.

Inner classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Constructor Summary
`JMenuBar()` Creates a new menu bar.

Method Summary
`JMenu` | `add(JMenu c)` Appends the specified menu to the end of the menu bar.
`void` | `addNotify()` Overrides `JComponent.addNotify` to register this menu bar with the current `KeyboardManager`.
`AccessibleContext` | `getAccessibleContext()` Get the AccessibleContext associated with this JComponent
`java.awt.Component` | `getComponent()` Implemented to be a MenuElement.
`java.awt.Component` | `getComponentAtIndex(int i)` Returns the component at the specified index.
`int` | `getComponentIndex(java.awt.Component c)` Returns the index of the specified component.
`JMenu` | `getHelpMenu()` Gets the help menu for the menu bar.
`java.awt.Insets` | `getMargin()` Returns the margin between the menubar's border and its menus.
`JMenu` | `getMenu(int index)` Gets the menu at the specified position in the menu bar.
`int` | `getMenuCount()` Returns the number of items in the menu bar.
`SingleSelectionModel` | `getSelectionModel()` Returns the model object that handles single selections.
`MenuElement[]` | `getSubElements()` Implemented to be a MenuElement -- returns the menus in this menu bar.
`MenuBarUI` | `getUI()` Returns the menubar's current UI.
`java.lang.String` | `getUIClassID()` Returns the name of the L&F class that renders this component.
`boolean` | `isBorderPainted()` Returns true if a the Menubar's border should be painted.
`boolean` | `isManagingFocus()` Returns true to indicate that this component manages focus events internally.
`boolean` | `isSelected()` Returns true if the MenuBar currently has a component selected
`void` | `menuSelectionChanged(boolean isIncluded)` Implemented to be a MenuElement -- does nothing.
`protected void` | `paintBorder(java.awt.Graphics g)` Paint the menubar's border if BorderPainted property is true.
`protected java.lang.String` | `paramString()` Returns a string representation of this JMenuBar.
`void` | `processKeyEvent(java.awt.event.KeyEvent e, MenuElement[] path, MenuSelectionManager manager)` Implemented to be a MenuElement -- does nothing.
`void` | `processMouseEvent(java.awt.event.MouseEvent event, MenuElement[] path, MenuSelectionManager manager)` Implemented to be a MenuElement -- does nothing.
`void` | `removeNotify()` Overrides `JComponent.removeNotify` to unregister this menu bar with the current `KeyboardManager`.
`void` | `setBorderPainted(boolean s)` Determines whether the MenuBar's current border will be painted.
`void` | `setHelpMenu(JMenu menu)` Sets the help menu that appears when the user selects the "help" option in the menu bar.
`void` | `setMargin(java.awt.Insets margin)` Sets the margin between the menubar's border and its menus.
`void` | `setSelected(java.awt.Component sel)` Sets the currently selected component, producing a a change to the selection model.
`void` | `setSelectionModel(SingleSelectionModel model)` Set the model object to handle single selections.
`void` | `setUI(MenuBarUI ui)` Sets the L&F object that renders this component.
`void` | `updateUI()` Notification from the UIFactory that the L&F has changed.

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, getBackground, getBounds, getColorModel, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isEnabled, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### JMenuBar

    public JMenuBar()

  Creates a new menu bar.

Method Detail

### getUI

    public MenuBarUI getUI()

  Returns the menubar's current UI.
  See Also:
    `setUI(javax.swing.plaf.MenuBarUI)`

### setUI

    public void setUI(MenuBarUI ui)

  Sets the L&F object that renders this component.
  Parameters:
    `ui` - the new MenuBarUI L&F object
  See Also:
    `UIDefaults.getUI(javax.swing.JComponent)`

### updateUI

    public void updateUI()

  Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.
  Overrides:
    updateUI in class JComponent
  See Also:
    `JComponent.updateUI()`

### getUIClassID

    public java.lang.String getUIClassID()

  Returns the name of the L&F class that renders this component.
  Returns:
    "MenuBarUI"
  Overrides:
    getUIClassID in class JComponent
  See Also:
    `JComponent.getUIClassID()`, `UIDefaults.getUI(javax.swing.JComponent)`

### getSelectionModel

    public SingleSelectionModel getSelectionModel()

  Returns the model object that handles single selections.
  Returns:
    the SingleSelectionModel in use
  See Also:
    `SingleSelectionModel`

### setSelectionModel

    public void setSelectionModel(SingleSelectionModel model)

  Set the model object to handle single selections.
  Parameters:
    `model` - the SingleSelectionModel to use
  See Also:
    `SingleSelectionModel`

### add

    public JMenu add(JMenu c)

  Appends the specified menu to the end of the menu bar.
  Parameters:
    `c` - the JMenu component to add

### getMenu

    public JMenu getMenu(int index)

  Gets the menu at the specified position in the menu bar.
  Parameters:
    `index` - an int giving the position in the menu bar, where 0 is the first position
  Returns:
    the JMenu at that position

### getMenuCount

    public int getMenuCount()

  Returns the number of items in the menu bar.
  Returns:
    the number of items in the menu bar

### setHelpMenu

    public void setHelpMenu(JMenu menu)

  Sets the help menu that appears when the user selects the "help" option in the menu bar. This method is not yet implemented.
  Parameters:
    `menu` - the JMenu that delivers help to the user

### getHelpMenu

    public JMenu getHelpMenu()

  Gets the help menu for the menu bar.
  Returns:
    the JMenu that delivers help to the user

### getComponentAtIndex

    public java.awt.Component getComponentAtIndex(int i)

  Returns the component at the specified index.
  Parameters:
    `i` - an int specifying the position, where 0 = first
  Returns:
    the Component at the position, or null for an invalid index

### getComponentIndex

    public int getComponentIndex(java.awt.Component c)

  Returns the index of the specified component.
  Parameters:
    `c` - the Component to find
  Returns:
    an int giving the component's position, where 0 = first

### setSelected

    public void setSelected(java.awt.Component sel)

  Sets the currently selected component, producing a a change to the selection model.
  Parameters:
    `sel` - the Component to select

### isSelected

    public boolean isSelected()

  Returns true if the MenuBar currently has a component selected
  Returns:
    true if a selection has been made, else false

### isBorderPainted

    public boolean isBorderPainted()

  Returns true if a the Menubar's border should be painted.
  Returns:
    true if the border should be painted, else false

### setBorderPainted

    public void setBorderPainted(boolean s)

  Determines whether the MenuBar's current border will be painted.
  Parameters:
    `s` - true if the border should be painted, else false

### paintBorder

    protected void paintBorder(java.awt.Graphics g)

  Paint the menubar's border if BorderPainted property is true.
  Parameters:
    `g` - the Graphics context to use for painting
  Overrides:
    paintBorder in class JComponent
  See Also:
    `JComponent.paint(java.awt.Graphics)`, `JComponent.setBorder(javax.swing.border.Border)`

### setMargin

    public void setMargin(java.awt.Insets margin)

  Sets the margin between the menubar's border and its menus. Setting to null will cause the menubar to use the default margins.
  Parameters:
    `margin` - an Insets object containing the margin values
  See Also:
    `Insets`

### getMargin

    public java.awt.Insets getMargin()

  Returns the margin between the menubar's border and its menus.
  Returns:
    an Insets object containing the margin values
  See Also:
    `Insets`

### processMouseEvent

    public void processMouseEvent(java.awt.event.MouseEvent event,
                                  MenuElement[] path,
                                  MenuSelectionManager manager)

  Implemented to be a MenuElement -- does nothing.
  Specified by:
    processMouseEvent in interface MenuElement
  See Also:
    `getSubElements()`

### processKeyEvent

    public void processKeyEvent(java.awt.event.KeyEvent e,
                                MenuElement[] path,
                                MenuSelectionManager manager)

  Implemented to be a MenuElement -- does nothing.
  Specified by:
    processKeyEvent in interface MenuElement
  See Also:
    `getSubElements()`

### menuSelectionChanged

    public void menuSelectionChanged(boolean isIncluded)

  Implemented to be a MenuElement -- does nothing.
  Specified by:
    menuSelectionChanged in interface MenuElement
  See Also:
    `getSubElements()`

### getSubElements

    public MenuElement[] getSubElements()

  Implemented to be a MenuElement -- returns the menus in this menu bar. This is the reason for implementing the MenuElement interface -- so that the menu bar can be treated the same as other menu elements.
  Specified by:
    getSubElements in interface MenuElement

### getComponent

    public java.awt.Component getComponent()

  Implemented to be a MenuElement. Returns this object.
  Specified by:
    getComponent in interface MenuElement
  Returns:
    the current Component (this)
  See Also:
    `getSubElements()`

### paramString

    protected java.lang.String paramString()

  Returns a string representation of this JMenuBar. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.

  Overriding paramString() to provide information about the specific new aspects of the JFC components.

  Returns:
    a string representation of this JMenuBar.
  Overrides:
    paramString in class JComponent

### getAccessibleContext

    public AccessibleContext getAccessibleContext()

  Get the AccessibleContext associated with this JComponent
  Specified by:
    getAccessibleContext in interface Accessible
  Returns:
    the AccessibleContext of this JComponent
  Overrides:
    getAccessibleContext in class JComponent

### isManagingFocus

    public boolean isManagingFocus()

  Returns true to indicate that this component manages focus events internally.
  Returns:
    true
  Overrides:
    isManagingFocus in class JComponent

### addNotify

    public void addNotify()

  Overrides `JComponent.addNotify` to register this menu bar with the current `KeyboardManager`.
  Overrides:
    addNotify in class JComponent

### removeNotify

    public void removeNotify()

  Overrides `JComponent.removeNotify` to unregister this menu bar with the current `KeyboardManager`.
  Overrides:
    removeNotify in class JComponent

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Swing 1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.