- 
- All Implemented Interfaces:
- ImageObserver,- ItemSelectable,- MenuContainer,- Serializable,- Accessible,- MenuElement,- SwingConstants
 
 @JavaBean(description="A popup window containing menu items displayed in a menu bar.") public class JMenu extends JMenuItem implements Accessible, MenuElement An implementation of a menu -- a popup window containingJMenuItems that is displayed when the user selects an item on theJMenuBar. In addition toJMenuItems, aJMenucan also containJSeparators.In essence, a menu is a button with an associated JPopupMenu. When the "button" is pressed, theJPopupMenuappears. If the "button" is on theJMenuBar, the menu is a top-level window. If the "button" is another menu item, then theJPopupMenuis "pull-right" menu.Menus can be configured, and to some degree controlled, by Actions. Using anActionwith a menu has many benefits beyond directly configuring a menu. Refer to Swing Components SupportingActionfor more details, and you can find more information in How to Use Actions, a section in The Java Tutorial.For information and examples of using menus see How to Use Menus, a section in The Java Tutorial. Warning: Swing is not thread safe. For more information see Swing's Threading Policy. 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. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beanspackage. Please seeXMLEncoder.- Since:
- 1.2
- See Also:
- JMenuItem,- JSeparator,- JMenuBar,- JPopupMenu, Serialized Form
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected classJMenu.AccessibleJMenuThis class implements accessibility support for theJMenuclass.protected classJMenu.WinListenerA listener class that watches for a popup window closing.- 
Nested classes/interfaces declared in class javax.swing.JMenuItemJMenuItem.AccessibleJMenuItem
 - 
Nested classes/interfaces declared in class javax.swing.AbstractButtonAbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
 - 
Nested classes/interfaces declared in class javax.swing.JComponentJComponent.AccessibleJComponent
 - 
Nested classes/interfaces declared in class java.awt.ContainerContainer.AccessibleAWTContainer
 - 
Nested classes/interfaces declared in class java.awt.ComponentComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected JMenu.WinListenerpopupListenerThe window-closing listener for the popup.- 
Fields declared in class javax.swing.AbstractButtonactionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 - 
Fields declared in class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 - 
Fields declared in class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 - 
Fields declared in interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 - 
Fields declared in interface javax.swing.SwingConstantsBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
- 
 - 
Constructor SummaryConstructors Constructor Description JMenu()Constructs a newJMenuwith no text.JMenu(String s)Constructs a newJMenuwith the supplied string as its text.JMenu(String s, boolean b)Constructs a newJMenuwith the supplied string as its text and specified as a tear-off menu or not.JMenu(Action a)Constructs a menu whose properties are taken from theActionsupplied.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description Componentadd(Component c)Appends a component to the end of this menu.Componentadd(Component c, int index)Adds the specified component to this container at the given position.JMenuItemadd(String s)Creates a new menu item with the specified text and appends it to the end of this menu.JMenuItemadd(Action a)Creates a new menu item attached to the specifiedActionobject and appends it to the end of this menu.JMenuItemadd(JMenuItem menuItem)Appends a menu item to the end of this menu.voidaddMenuListener(MenuListener l)Adds a listener for menu events.voidaddSeparator()Appends a new separator to the end of the menu.voidapplyComponentOrientation(ComponentOrientation o)Sets theComponentOrientationproperty of this menu and all components contained within it.protected PropertyChangeListenercreateActionChangeListener(JMenuItem b)Returns a properly configuredPropertyChangeListenerwhich updates the control as changes to theActionoccur.protected JMenuItemcreateActionComponent(Action a)Factory method which creates theJMenuItemforActions added to theJMenu.protected JMenu.WinListenercreateWinListener(JPopupMenu p)Creates a window-closing listener for the popup.voiddoClick(int pressTime)Programmatically performs a "click".protected voidfireMenuCanceled()Notifies all listeners that have registered interest for notification on this event type.protected voidfireMenuDeselected()Notifies all listeners that have registered interest for notification on this event type.protected voidfireMenuSelected()Notifies all listeners that have registered interest for notification on this event type.AccessibleContextgetAccessibleContext()Gets the AccessibleContext associated with this JMenu.ComponentgetComponent()Returns thejava.awt.Componentused to paint thisMenuElement.intgetDelay()Returns the suggested delay, in milliseconds, before submenus are popped up or down.JMenuItemgetItem(int pos)Returns theJMenuItemat the specified position.intgetItemCount()Returns the number of items on the menu, including separators.ComponentgetMenuComponent(int n)Returns the component at positionn.intgetMenuComponentCount()Returns the number of components on the menu.Component[]getMenuComponents()Returns an array ofComponents of the menu's subcomponents.MenuListener[]getMenuListeners()Returns an array of all theMenuListeners added to this JMenu with addMenuListener().JPopupMenugetPopupMenu()Returns the popupmenu associated with this menu.protected PointgetPopupMenuOrigin()Computes the origin for theJMenu's popup menu.MenuElement[]getSubElements()Returns an array ofMenuElements containing the submenu for this menu component.StringgetUIClassID()Returns the name of the L&F class that renders this component.voidinsert(String s, int pos)Inserts a new menu item with the specified text at a given position.JMenuIteminsert(Action a, int pos)Inserts a new menu item attached to the specifiedActionobject at a given position.JMenuIteminsert(JMenuItem mi, int pos)Inserts the specifiedJMenuitemat a given position.voidinsertSeparator(int index)Inserts a separator at the specified position.booleanisMenuComponent(Component c)Returns true if the specified component exists in the submenu hierarchy.booleanisPopupMenuVisible()Returns true if the menu's popup window is visible.booleanisSelected()Returns true if the menu is currently selected (highlighted).booleanisTearOff()Returns true if the menu can be torn off.booleanisTopLevelMenu()Returns true if the menu is a 'top-level menu', that is, if it is the direct child of a menubar.voidmenuSelectionChanged(boolean isIncluded)Messaged when the menubar selection changes to activate or deactivate this menu.protected StringparamString()Returns a string representation of thisJMenu.protected voidprocessKeyEvent(KeyEvent evt)Processes key stroke events such as mnemonics and accelerators.voidremove(int pos)Removes the menu item at the specified index from this menu.voidremove(Component c)Removes the componentcfrom this menu.voidremove(JMenuItem item)Removes the specified menu item from this menu.voidremoveAll()Removes all menu items from this menu.voidremoveMenuListener(MenuListener l)Removes a listener for menu events.voidsetAccelerator(KeyStroke keyStroke)setAcceleratoris not defined forJMenu.voidsetDelay(int d)Sets the suggested delay before the menu'sPopupMenuis popped up or down.voidsetMenuLocation(int x, int y)Sets the location of the popup component.voidsetModel(ButtonModel newModel)Sets the data model for the "menu button" -- the label that the user clicks to open or close the menu.voidsetPopupMenuVisible(boolean b)Sets the visibility of the menu's popup.voidsetSelected(boolean b)Sets the selection status of the menu.voidupdateUI()Resets the UI property with a value from the current look and feel.- 
Methods declared in class javax.swing.JMenuItemactionPropertyChanged, addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getMenuDragMouseListeners, getMenuKeyListeners, init, isArmed, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setArmed, setEnabled, setUI
 - 
Methods declared in class javax.swing.AbstractButtonaddActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 - 
Methods declared in class javax.swing.JComponentaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 - 
Methods declared in class java.awt.Containeradd, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
 - 
Methods declared in class java.awt.Componentaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 - 
Methods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods declared in interface javax.swing.MenuElementprocessKeyEvent, processMouseEvent
 
- 
 
- 
- 
- 
Field Detail- 
popupListenerprotected JMenu.WinListener popupListener The window-closing listener for the popup.- See Also:
- JMenu.WinListener
 
 
- 
 - 
Constructor Detail- 
JMenupublic JMenu() Constructs a newJMenuwith no text.
 - 
JMenupublic JMenu(String s) Constructs a newJMenuwith the supplied string as its text.- Parameters:
- s- the text for the menu label
 
 - 
JMenupublic JMenu(Action a) Constructs a menu whose properties are taken from theActionsupplied.- Parameters:
- a- an- Action
- Since:
- 1.3
 
 - 
JMenupublic JMenu(String s, boolean b) Constructs a newJMenuwith the supplied string as its text and specified as a tear-off menu or not.- Parameters:
- s- the text for the menu label
- b- can the menu be torn off (not yet implemented)
 
 
- 
 - 
Method Detail- 
updateUIpublic void updateUI() Resets the UI property with a value from the current look and feel.- Overrides:
- updateUIin class- JMenuItem
- See Also:
- JComponent.updateUI()
 
 - 
getUIClassID@BeanProperty(bound=false) public String getUIClassID() Returns the name of the L&F class that renders this component.- Overrides:
- getUIClassIDin class- JMenuItem
- Returns:
- the string "MenuUI"
- See Also:
- JComponent.getUIClassID(),- UIDefaults.getUI(javax.swing.JComponent)
 
 - 
setModelpublic void setModel(ButtonModel newModel) Sets the data model for the "menu button" -- the label that the user clicks to open or close the menu.- Overrides:
- setModelin class- AbstractButton
- Parameters:
- newModel- the- ButtonModel
- See Also:
- AbstractButton.getModel()
 
 - 
isSelectedpublic boolean isSelected() Returns true if the menu is currently selected (highlighted).- Overrides:
- isSelectedin class- AbstractButton
- Returns:
- true if the menu is selected, else false
 
 - 
setSelected@BeanProperty(expert=true, hidden=true, description="When the menu is selected, its popup child is shown.") public void setSelected(boolean b) Sets the selection status of the menu.- Overrides:
- setSelectedin class- AbstractButton
- Parameters:
- b- true to select (highlight) the menu; false to de-select the menu
 
 - 
isPopupMenuVisiblepublic boolean isPopupMenuVisible() Returns true if the menu's popup window is visible.- Returns:
- true if the menu is visible, else false
 
 - 
setPopupMenuVisible@BeanProperty(bound=false, expert=true, hidden=true, description="The popup menu\'s visibility") public void setPopupMenuVisible(boolean b) Sets the visibility of the menu's popup. If the menu is not enabled, this method will have no effect.- Parameters:
- b- a boolean value -- true to make the menu visible, false to hide it
 
 - 
getPopupMenuOriginprotected Point getPopupMenuOrigin() Computes the origin for theJMenu's popup menu. This method uses Look and Feel properties namedMenu.menuPopupOffsetX,Menu.menuPopupOffsetY,Menu.submenuPopupOffsetX, andMenu.submenuPopupOffsetYto adjust the exact location of popup.- Returns:
- a Pointin the coordinate space of the menu which should be used as the origin of theJMenu's popup menu
- Since:
- 1.3
 
 - 
getDelaypublic int getDelay() Returns the suggested delay, in milliseconds, before submenus are popped up or down. Each look and feel (L&F) may determine its own policy for observing thedelayproperty. In most cases, the delay is not observed for top level menus or while dragging. The default fordelayis 0. This method is a property of the look and feel code and is used to manage the idiosyncrasies of the various UI implementations.- Returns:
- the delayproperty
 
 - 
setDelay@BeanProperty(bound=false, expert=true, description="The delay between menu selection and making the popup menu visible") public void setDelay(int d) Sets the suggested delay before the menu'sPopupMenuis popped up or down. Each look and feel (L&F) may determine it's own policy for observing the delay property. In most cases, the delay is not observed for top level menus or while dragging. This method is a property of the look and feel code and is used to manage the idiosyncrasies of the various UI implementations.- Parameters:
- d- the number of milliseconds to delay
- Throws:
- IllegalArgumentException- if- dis less than 0
 
 - 
setMenuLocationpublic void setMenuLocation(int x, int y)Sets the location of the popup component.- Parameters:
- x- the x coordinate of the popup's new position
- y- the y coordinate of the popup's new position
 
 - 
addpublic JMenuItem add(JMenuItem menuItem) Appends a menu item to the end of this menu. Returns the menu item added.- Parameters:
- menuItem- the- JMenuitemto be added
- Returns:
- the JMenuItemadded
 
 - 
addpublic Component add(Component c) Appends a component to the end of this menu. Returns the component added.- Overrides:
- addin class- Container
- Parameters:
- c- the- Componentto add
- Returns:
- the Componentadded
- See Also:
- Container.addImpl(java.awt.Component, java.lang.Object, int),- Container.invalidate(),- Container.validate(),- JComponent.revalidate()
 
 - 
addpublic Component add(Component c, int index) Adds the specified component to this container at the given position. Ifindexequals -1, the component will be appended to the end.- Overrides:
- addin class- Container
- Parameters:
- c- the- Componentto add
- index- the position at which to insert the component
- Returns:
- the Componentadded
- See Also:
- remove(javax.swing.JMenuItem),- Container.add(Component, int)
 
 - 
addpublic JMenuItem add(String s) Creates a new menu item with the specified text and appends it to the end of this menu.- Parameters:
- s- the string for the menu item to be added
- Returns:
- the new JMenuItem
 
 - 
addpublic JMenuItem add(Action a) Creates a new menu item attached to the specifiedActionobject and appends it to the end of this menu.- Parameters:
- a- the- Actionfor the menu item to be added
- Returns:
- the new JMenuItem
- See Also:
- Action
 
 - 
createActionComponentprotected JMenuItem createActionComponent(Action a) Factory method which creates theJMenuItemforActions added to theJMenu.- Parameters:
- a- the- Actionfor the menu item to be added
- Returns:
- the new menu item
- Since:
- 1.3
- See Also:
- Action
 
 - 
createActionChangeListenerprotected PropertyChangeListener createActionChangeListener(JMenuItem b) Returns a properly configuredPropertyChangeListenerwhich updates the control as changes to theActionoccur.- Parameters:
- b- a menu item for which to create a- PropertyChangeListener
- Returns:
- a PropertyChangeListenerforb
 
 - 
addSeparatorpublic void addSeparator() Appends a new separator to the end of the menu.
 - 
insertpublic void insert(String s, int pos) Inserts a new menu item with the specified text at a given position.- Parameters:
- s- the text for the menu item to add
- pos- an integer specifying the position at which to add the new menu item
- Throws:
- IllegalArgumentException- when the value of- pos< 0
 
 - 
insertpublic JMenuItem insert(JMenuItem mi, int pos) Inserts the specifiedJMenuitemat a given position.- Parameters:
- mi- the- JMenuitemto add
- pos- an integer specifying the position at which to add the new- JMenuitem
- Returns:
- the new menu item
- Throws:
- IllegalArgumentException- if the value of- pos< 0
 
 - 
insertpublic JMenuItem insert(Action a, int pos) Inserts a new menu item attached to the specifiedActionobject at a given position.- Parameters:
- a- the- Actionobject for the menu item to add
- pos- an integer specifying the position at which to add the new menu item
- Returns:
- the new menu item
- Throws:
- IllegalArgumentException- if the value of- pos< 0
 
 - 
insertSeparatorpublic void insertSeparator(int index) Inserts a separator at the specified position.- Parameters:
- index- an integer specifying the position at which to insert the menu separator
- Throws:
- IllegalArgumentException- if the value of- index< 0
 
 - 
getItempublic JMenuItem getItem(int pos) Returns theJMenuItemat the specified position. If the component atposis not a menu item,nullis returned. This method is included for AWT compatibility.- Parameters:
- pos- an integer specifying the position
- Returns:
- the menu item at the specified position; or nullif the item as the specified position is not a menu item
- Throws:
- IllegalArgumentException- if the value of- pos< 0
 
 - 
getItemCount@BeanProperty(bound=false) public int getItemCount() Returns the number of items on the menu, including separators. This method is included for AWT compatibility.- Returns:
- an integer equal to the number of items on the menu
- See Also:
- getMenuComponentCount()
 
 - 
isTearOff@BeanProperty(bound=false) public boolean isTearOff() Returns true if the menu can be torn off. This method is not yet implemented.- Returns:
- true if the menu can be torn off, else false
- Throws:
- Error- if invoked -- this method is not yet implemented
 
 - 
removepublic void remove(JMenuItem item) Removes the specified menu item from this menu. If there is no popup menu, this method will have no effect.- Parameters:
- item- the- JMenuItemto be removed from the menu
 
 - 
removepublic void remove(int pos) Removes the menu item at the specified index from this menu.- Overrides:
- removein class- Container
- Parameters:
- pos- the position of the item to be removed
- Throws:
- IllegalArgumentException- if the value of- pos< 0, or if- posis greater than the number of menu items
- See Also:
- Container.add(java.awt.Component),- Container.invalidate(),- Container.validate(),- Container.getComponentCount()
 
 - 
removepublic void remove(Component c) Removes the componentcfrom this menu.- Overrides:
- removein class- Container
- Parameters:
- c- the component to be removed
- See Also:
- Container.add(java.awt.Component),- Container.invalidate(),- Container.validate(),- Container.remove(int)
 
 - 
removeAllpublic void removeAll() Removes all menu items from this menu.- Overrides:
- removeAllin class- Container
- See Also:
- Container.add(java.awt.Component),- Container.remove(int),- Container.invalidate()
 
 - 
getMenuComponentCount@BeanProperty(bound=false) public int getMenuComponentCount() Returns the number of components on the menu.- Returns:
- an integer containing the number of components on the menu
 
 - 
getMenuComponentpublic Component getMenuComponent(int n) Returns the component at positionn.- Parameters:
- n- the position of the component to be returned
- Returns:
- the component requested, or nullif there is no popup menu
 
 - 
getMenuComponents@BeanProperty(bound=false) public Component[] getMenuComponents() Returns an array ofComponents of the menu's subcomponents. Note that this returns allComponents in the popup menu, including separators.- Returns:
- an array of Components or an empty array if there is no popup menu
 
 - 
isTopLevelMenu@BeanProperty(bound=false) public boolean isTopLevelMenu() Returns true if the menu is a 'top-level menu', that is, if it is the direct child of a menubar.- Returns:
- true if the menu is activated from the menu bar; false if the menu is activated from a menu item on another menu
 
 - 
isMenuComponentpublic boolean isMenuComponent(Component c) Returns true if the specified component exists in the submenu hierarchy.- Parameters:
- c- the- Componentto be tested
- Returns:
- true if the Componentexists, false otherwise
 
 - 
getPopupMenu@BeanProperty(bound=false) public JPopupMenu getPopupMenu() Returns the popupmenu associated with this menu. If there is no popupmenu, it will create one.- Returns:
- the JPopupMenuassociated with this menu
 
 - 
addMenuListenerpublic void addMenuListener(MenuListener l) Adds a listener for menu events.- Parameters:
- l- the listener to be added
 
 - 
removeMenuListenerpublic void removeMenuListener(MenuListener l) Removes a listener for menu events.- Parameters:
- l- the listener to be removed
 
 - 
getMenuListeners@BeanProperty(bound=false) public MenuListener[] getMenuListeners() Returns an array of all theMenuListeners added to this JMenu with addMenuListener().- Returns:
- all of the MenuListeners added or an empty array if no listeners have been added
- Since:
- 1.4
 
 - 
fireMenuSelectedprotected void fireMenuSelected() Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.- Throws:
- Error- if there is a- nulllistener
- See Also:
- EventListenerList
 
 - 
fireMenuDeselectedprotected void fireMenuDeselected() Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.- Throws:
- Error- if there is a- nulllistener
- See Also:
- EventListenerList
 
 - 
fireMenuCanceledprotected void fireMenuCanceled() Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.- Throws:
- Error- if there is a- nulllistener
- See Also:
- EventListenerList
 
 - 
createWinListenerprotected JMenu.WinListener createWinListener(JPopupMenu p) Creates a window-closing listener for the popup.- Parameters:
- p- the- JPopupMenu
- Returns:
- the new window-closing listener
- See Also:
- JMenu.WinListener
 
 - 
menuSelectionChangedpublic void menuSelectionChanged(boolean isIncluded) Messaged when the menubar selection changes to activate or deactivate this menu. OverridesJMenuItem.menuSelectionChanged.- Specified by:
- menuSelectionChangedin interface- MenuElement
- Overrides:
- menuSelectionChangedin class- JMenuItem
- Parameters:
- isIncluded- true if this menu is active, false if it is not
- See Also:
- MenuSelectionManager.setSelectedPath(MenuElement[])
 
 - 
getSubElements@BeanProperty(bound=false) public MenuElement[] getSubElements() Returns an array ofMenuElements containing the submenu for this menu component. If popup menu isnullreturns an empty array. This method is required to conform to theMenuElementinterface. Note that sinceJSeparators do not conform to theMenuElementinterface, this array will only containJMenuItems.- Specified by:
- getSubElementsin interface- MenuElement
- Overrides:
- getSubElementsin class- JMenuItem
- Returns:
- an array of MenuElementobjects
 
 - 
getComponentpublic Component getComponent() Returns thejava.awt.Componentused to paint thisMenuElement. The returned component is used to convert events and detect if an event is inside a menu component.- Specified by:
- getComponentin interface- MenuElement
- Overrides:
- getComponentin class- JMenuItem
- Returns:
- the Componentthat paints this menu item
 
 - 
applyComponentOrientationpublic void applyComponentOrientation(ComponentOrientation o) Sets theComponentOrientationproperty of this menu and all components contained within it. This includes all components returned bygetMenuComponents.- Overrides:
- applyComponentOrientationin class- Container
- Parameters:
- o- the new component orientation of this menu and the components contained within it.
- Throws:
- NullPointerException- if- orientationis null.
- Since:
- 1.4
- See Also:
- Component.setComponentOrientation(java.awt.ComponentOrientation),- Component.getComponentOrientation()
 
 - 
setAcceleratorpublic void setAccelerator(KeyStroke keyStroke) setAcceleratoris not defined forJMenu. UsesetMnemonicinstead.- Overrides:
- setAcceleratorin class- JMenuItem
- Parameters:
- keyStroke- the keystroke combination which will invoke the- JMenuItem's actionlisteners without navigating the menu hierarchy
- Throws:
- Error- if invoked -- this method is not defined for JMenu. Use- setMnemonicinstead
 
 - 
processKeyEventprotected void processKeyEvent(KeyEvent evt) Processes key stroke events such as mnemonics and accelerators.- Overrides:
- processKeyEventin class- JComponent
- Parameters:
- evt- the key event to be processed
- See Also:
- KeyEvent,- KeyListener,- KeyboardFocusManager,- DefaultKeyboardFocusManager,- Component.processEvent(java.awt.AWTEvent),- Component.dispatchEvent(java.awt.AWTEvent),- Component.addKeyListener(java.awt.event.KeyListener),- Component.enableEvents(long),- Component.isShowing()
 
 - 
doClickpublic void doClick(int pressTime) Programmatically performs a "click". This overrides the methodAbstractButton.doClickin order to make the menu pop up.- Overrides:
- doClickin class- AbstractButton
- Parameters:
- pressTime- indicates the number of milliseconds the button was pressed for
 
 - 
paramStringprotected String paramString() Returns a string representation of thisJMenu. 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 benull.- Overrides:
- paramStringin class- JMenuItem
- Returns:
- a string representation of this JMenu.
 
 - 
getAccessibleContext@BeanProperty(bound=false) public AccessibleContext getAccessibleContext() Gets the AccessibleContext associated with this JMenu. For JMenus, the AccessibleContext takes the form of an AccessibleJMenu. A new AccessibleJMenu instance is created if necessary.- Specified by:
- getAccessibleContextin interface- Accessible
- Overrides:
- getAccessibleContextin class- JMenuItem
- Returns:
- an AccessibleJMenu that serves as the AccessibleContext of this JMenu
 
 
- 
 
-