Class JMenu
- 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
JMenuItem
s that is displayed when the user selects an item on the JMenuBar
. In addition to JMenuItem
s, a JMenu
can also contain JSeparator
s. In essence, a menu is a button with an associated JPopupMenu
. When the "button" is pressed, the JPopupMenu
appears. If the "button" is on the JMenuBar
, the menu is a top-level window. If the "button" is another menu item, then the JPopupMenu
is "pull-right" menu.
Menus can be configured, and to some degree controlled, by Action
s. Using an Action
with a menu has many benefits beyond directly configuring a menu. Refer to Swing Components Supporting Action
for 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.beans
package. Please see XMLEncoder
.
- Since:
- 1.2
- See Also:
Nested Class Summary
Modifier and Type | Class | Description |
---|---|---|
protected class |
JMenu.AccessibleJMenu |
This class implements accessibility support for the JMenu class. |
protected class |
JMenu.WinListener |
A listener class that watches for a popup window closing. |
Nested classes/interfaces declared in class javax.swing.JMenuItem
JMenuItem.AccessibleJMenuItem
Nested classes/interfaces declared in class javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected JMenu.WinListener |
popupListener |
The window-closing listener for the popup. |
Fields declared in class javax.swing.AbstractButton
actionListener, 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.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields declared in interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor Summary
Constructor | Description |
---|---|
JMenu() |
Constructs a new JMenu with no text. |
JMenu |
Constructs a new JMenu with the supplied string as its text. |
JMenu |
Constructs a new JMenu with the supplied string as its text and specified as a tear-off menu or not. |
JMenu |
Constructs a menu whose properties are taken from the Action supplied. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
Component |
add |
Appends a component to the end of this menu. |
Component |
add |
Adds the specified component to this container at the given position. |
JMenuItem |
add |
Creates a new menu item with the specified text and appends it to the end of this menu. |
JMenuItem |
add |
Creates a new menu item attached to the specified Action object and appends it to the end of this menu. |
JMenuItem |
add |
Appends a menu item to the end of this menu. |
void |
addMenuListener |
Adds a listener for menu events. |
void |
addSeparator() |
Appends a new separator to the end of the menu. |
void |
applyComponentOrientation |
Sets the ComponentOrientation property of this menu and all components contained within it. |
protected PropertyChangeListener |
createActionChangeListener |
Returns a properly configured PropertyChangeListener which updates the control as changes to the Action occur. |
protected JMenuItem |
createActionComponent |
Factory method which creates the JMenuItem for Action s added to the JMenu . |
protected JMenu.WinListener |
createWinListener |
Creates a window-closing listener for the popup. |
void |
doClick |
Programmatically performs a "click". |
protected void |
fireMenuCanceled() |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDeselected() |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuSelected() |
Notifies all listeners that have registered interest for notification on this event type. |
AccessibleContext |
getAccessibleContext() |
Gets the AccessibleContext associated with this JMenu. |
Component |
getComponent() |
Returns the java.awt.Component used to paint this MenuElement . |
int |
getDelay() |
Returns the suggested delay, in milliseconds, before submenus are popped up or down. |
JMenuItem |
getItem |
Returns the JMenuItem at the specified position. |
int |
getItemCount() |
Returns the number of items on the menu, including separators. |
Component |
getMenuComponent |
Returns the component at position n . |
int |
getMenuComponentCount() |
Returns the number of components on the menu. |
Component[] |
getMenuComponents() |
Returns an array of Component s of the menu's subcomponents. |
MenuListener[] |
getMenuListeners() |
Returns an array of all the MenuListener s added to this JMenu with addMenuListener(). |
JPopupMenu |
getPopupMenu() |
Returns the popupmenu associated with this menu. |
protected Point |
getPopupMenuOrigin() |
Computes the origin for the JMenu 's popup menu. |
MenuElement[] |
getSubElements() |
Returns an array of MenuElement s containing the submenu for this menu component. |
String |
getUIClassID() |
Returns the name of the L&F class that renders this component. |
void |
insert |
Inserts a new menu item with the specified text at a given position. |
JMenuItem |
insert |
Inserts a new menu item attached to the specified Action object at a given position. |
JMenuItem |
insert |
Inserts the specified JMenuitem at a given position. |
void |
insertSeparator |
Inserts a separator at the specified position. |
boolean |
isMenuComponent |
Returns true if the specified component exists in the submenu hierarchy. |
boolean |
isPopupMenuVisible() |
Returns true if the menu's popup window is visible. |
boolean |
isSelected() |
Returns true if the menu is currently selected (highlighted). |
boolean |
isTearOff() |
Returns true if the menu can be torn off. |
boolean |
isTopLevelMenu() |
Returns true if the menu is a 'top-level menu', that is, if it is the direct child of a menubar. |
void |
menuSelectionChanged |
Messaged when the menubar selection changes to activate or deactivate this menu. |
protected String |
paramString() |
Returns a string representation of this JMenu . |
protected void |
processKeyEvent |
Processes key stroke events such as mnemonics and accelerators. |
void |
remove |
Removes the menu item at the specified index from this menu. |
void |
remove |
Removes the component c from this menu. |
void |
remove |
Removes the specified menu item from this menu. |
void |
removeAll() |
Removes all menu items from this menu. |
void |
removeMenuListener |
Removes a listener for menu events. |
void |
setAccelerator |
setAccelerator is not defined for JMenu . |
void |
setComponentOrientation |
Sets the orientation for this menu and its associated popup menu determined by the ComponentOrientation argument. |
void |
setDelay |
Sets the suggested delay before the menu's PopupMenu is popped up or down. |
void |
setMenuLocation |
Sets the location of the popup component. |
void |
setModel |
Sets the data model for the "menu button" -- the label that the user clicks to open or close the menu. |
void |
setPopupMenuVisible |
Sets the visibility of the menu's popup. |
void |
setSelected |
Sets the selection status of the menu. |
void |
updateUI() |
Resets the UI property with a value from the current look and feel. |
Methods declared in class javax.swing.JMenuItem
actionPropertyChanged, 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.AbstractButton
addActionListener, 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.JComponent
addAncestorListener, 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, hide, 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.Container
add, 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.Component
action, 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, 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, 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.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javax.swing.MenuElement
processKeyEvent, processMouseEvent
Field Details
popupListener
protected JMenu.WinListener popupListener
- See Also:
Constructor Details
JMenu
public JMenu()
JMenu
with no text.JMenu
public JMenu(String s)
JMenu
with the supplied string as its text.- Parameters:
-
s
- the text for the menu label
JMenu
public JMenu(Action a)
Action
supplied.- Parameters:
-
a
- anAction
- Since:
- 1.3
JMenu
public JMenu(String s, boolean b)
JMenu
with 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 Details
updateUI
public void updateUI()
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Overrides:
-
getUIClassID
in classJMenuItem
- Returns:
- the string "MenuUI"
- See Also:
setModel
public void setModel(ButtonModel newModel)
- Overrides:
-
setModel
in classAbstractButton
- Parameters:
-
newModel
- theButtonModel
- See Also:
isSelected
public boolean isSelected()
- Overrides:
-
isSelected
in classAbstractButton
- 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)
- Overrides:
-
setSelected
in classAbstractButton
- Parameters:
-
b
- true to select (highlight) the menu; false to de-select the menu
isPopupMenuVisible
public boolean isPopupMenuVisible()
- 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)
- Parameters:
-
b
- a boolean value -- true to make the menu visible, false to hide it
getPopupMenuOrigin
protected Point getPopupMenuOrigin()
JMenu
's popup menu. This method uses Look and Feel properties named Menu.menuPopupOffsetX
, Menu.menuPopupOffsetY
, Menu.submenuPopupOffsetX
, and Menu.submenuPopupOffsetY
to adjust the exact location of popup.- Returns:
- a
Point
in the coordinate space of the menu which should be used as the origin of theJMenu
's popup menu - Since:
- 1.3
getDelay
public int getDelay()
delay
property. In most cases, the delay is not observed for top level menus or while dragging. The default for delay
is 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
delay
property
setDelay
@BeanProperty(bound=false, expert=true, description="The delay between menu selection and making the popup menu visible") public void setDelay(int d)
PopupMenu
is 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
- ifd
is less than 0
setMenuLocation
public void setMenuLocation(int x, int y)
- Parameters:
-
x
- the x coordinate of the popup's new position -
y
- the y coordinate of the popup's new position
add
public JMenuItem add(JMenuItem menuItem)
- Parameters:
-
menuItem
- theJMenuitem
to be added - Returns:
- the
JMenuItem
added
add
public Component add(Component c)
add
public Component add(Component c, int index)
index
equals -1, the component will be appended to the end.add
public JMenuItem add(String s)
- Parameters:
-
s
- the string for the menu item to be added - Returns:
- the new
JMenuItem
add
public JMenuItem add(Action a)
Action
object and appends it to the end of this menu.- Parameters:
-
a
- theAction
for the menu item to be added - Returns:
- the new
JMenuItem
- See Also:
createActionComponent
protected JMenuItem createActionComponent(Action a)
JMenuItem
for Action
s added to the JMenu
.- Parameters:
-
a
- theAction
for the menu item to be added - Returns:
- the new menu item
- Since:
- 1.3
- See Also:
createActionChangeListener
protected PropertyChangeListener createActionChangeListener(JMenuItem b)
PropertyChangeListener
which updates the control as changes to the Action
occur.- Parameters:
-
b
- a menu item for which to create aPropertyChangeListener
- Returns:
- a
PropertyChangeListener
forb
addSeparator
public void addSeparator()
insert
public void insert(String s, int pos)
- 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 ofpos
< 0
insert
public JMenuItem insert(JMenuItem mi, int pos)
JMenuitem
at a given position.- Parameters:
-
mi
- theJMenuitem
to add -
pos
- an integer specifying the position at which to add the newJMenuitem
- Returns:
- the new menu item
- Throws:
-
IllegalArgumentException
- if the value ofpos
< 0
insert
public JMenuItem insert(Action a, int pos)
Action
object at a given position.- Parameters:
-
a
- theAction
object 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 ofpos
< 0
insertSeparator
public void insertSeparator(int index)
- Parameters:
-
index
- an integer specifying the position at which to insert the menu separator - Throws:
-
IllegalArgumentException
- if the value ofindex
< 0
getItem
public JMenuItem getItem(int pos)
JMenuItem
at the specified position. If the component at pos
is not a menu item, null
is returned. This method is included for AWT compatibility.- Parameters:
-
pos
- an integer specifying the position - Returns:
- the menu item at the specified position; or
null
if the item as the specified position is not a menu item - Throws:
-
IllegalArgumentException
- if the value ofpos
< 0
getItemCount
@BeanProperty(bound=false) public int getItemCount()
- Returns:
- an integer equal to the number of items on the menu
- See Also:
isTearOff
@BeanProperty(bound=false) public boolean isTearOff()
- Returns:
- true if the menu can be torn off, else false
- Throws:
-
Error
- if invoked -- this method is not yet implemented
remove
public void remove(JMenuItem item)
- Parameters:
-
item
- theJMenuItem
to be removed from the menu
remove
public void remove(int pos)
- Overrides:
-
remove
in classContainer
- Parameters:
-
pos
- the position of the item to be removed - Throws:
-
IllegalArgumentException
- if the value ofpos
< 0, or ifpos
is greater than the number of menu items - See Also:
remove
public void remove(Component c)
c
from this menu.removeAll
public void removeAll()
getMenuComponentCount
@BeanProperty(bound=false) public int getMenuComponentCount()
- Returns:
- an integer containing the number of components on the menu
getMenuComponent
public Component getMenuComponent(int n)
n
.- Parameters:
-
n
- the position of the component to be returned - Returns:
- the component requested, or
null
if there is no popup menu
getMenuComponents
@BeanProperty(bound=false) public Component[] getMenuComponents()
Component
s of the menu's subcomponents. Note that this returns all Component
s in the popup menu, including separators.- Returns:
- an array of
Component
s or an empty array if there is no popup menu
isTopLevelMenu
@BeanProperty(bound=false) public boolean isTopLevelMenu()
- Returns:
- true if the menu is activated from the menu bar; false if the menu is activated from a menu item on another menu
isMenuComponent
public boolean isMenuComponent(Component c)
- Parameters:
-
c
- theComponent
to be tested - Returns:
- true if the
Component
exists, false otherwise
getPopupMenu
@BeanProperty(bound=false) public JPopupMenu getPopupMenu()
- Returns:
- the
JPopupMenu
associated with this menu
addMenuListener
public void addMenuListener(MenuListener l)
- Parameters:
-
l
- the listener to be added
removeMenuListener
public void removeMenuListener(MenuListener l)
- Parameters:
-
l
- the listener to be removed
getMenuListeners
@BeanProperty(bound=false) public MenuListener[] getMenuListeners()
MenuListener
s added to this JMenu with addMenuListener().- Returns:
- all of the
MenuListener
s added or an empty array if no listeners have been added - Since:
- 1.4
fireMenuSelected
protected void fireMenuSelected()
- Throws:
-
Error
- if there is anull
listener - See Also:
fireMenuDeselected
protected void fireMenuDeselected()
- Throws:
-
Error
- if there is anull
listener - See Also:
fireMenuCanceled
protected void fireMenuCanceled()
- Throws:
-
Error
- if there is anull
listener - See Also:
createWinListener
protected JMenu.WinListener createWinListener(JPopupMenu p)
- Parameters:
-
p
- theJPopupMenu
- Returns:
- the new window-closing listener
- See Also:
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
MenuElement
s containing the submenu for this menu component. If popup menu is null
returns an empty array. This method is required to conform to the MenuElement
interface. Note that since JSeparator
s do not conform to the MenuElement
interface, this array will only contain JMenuItem
s.- Specified by:
-
getSubElements
in interfaceMenuElement
- Overrides:
-
getSubElements
in classJMenuItem
- Returns:
- an array of
MenuElement
objects
getComponent
public Component getComponent()
java.awt.Component
used to paint this MenuElement
. The returned component is used to convert events and detect if an event is inside a menu component.- Specified by:
-
getComponent
in interfaceMenuElement
- Overrides:
-
getComponent
in classJMenuItem
- Returns:
- the
Component
that paints this menu item
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation o)
ComponentOrientation
property of this menu and all components contained within it. This includes all components returned by getMenuComponents
.- Overrides:
-
applyComponentOrientation
in classContainer
- Parameters:
-
o
- the new component orientation of this menu and the components contained within it. - Throws:
-
NullPointerException
- iforientation
is null. - Since:
- 1.4
- See Also:
setComponentOrientation
public void setComponentOrientation(ComponentOrientation o)
ComponentOrientation
argument.- Overrides:
-
setComponentOrientation
in classComponent
- Parameters:
-
o
- the new orientation for this menu and its associated popup menu. - See Also:
setAccelerator
public void setAccelerator(KeyStroke keyStroke)
setAccelerator
is not defined for JMenu
. Use setMnemonic
instead.- Overrides:
-
setAccelerator
in classJMenuItem
- Parameters:
-
keyStroke
- the keystroke combination which will invoke theJMenuItem
's actionlisteners without navigating the menu hierarchy - Throws:
-
Error
- if invoked -- this method is not defined for JMenu. UsesetMnemonic
instead
processKeyEvent
protected void processKeyEvent(KeyEvent evt)
- Overrides:
-
processKeyEvent
in classJComponent
- Parameters:
-
evt
- the key event to be processed - See Also:
doClick
public void doClick(int pressTime)
AbstractButton.doClick
in order to make the menu pop up.- Overrides:
-
doClick
in classAbstractButton
- Parameters:
-
pressTime
- indicates the number of milliseconds the button was pressed for
paramString
protected String paramString()
JMenu
. 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
.- Overrides:
-
paramString
in classJMenuItem
- Returns:
- a string representation of this JMenu.
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Specified by:
-
getAccessibleContext
in interfaceAccessible
- Overrides:
-
getAccessibleContext
in classJMenuItem
- Returns:
- an AccessibleJMenu that serves as the AccessibleContext of this JMenu
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JMenu.html