|
JSR-209 (Final Release) | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JMenuItem
An implementation of an item in a menu. A menu item is essentially a button
sitting in a list. When the user selects the "button", the action
associated with the menu item is performed. A JMenuItem
contained in a JPopupMenu
performs exactly that function.
For further documentation and for examples, see How to Use Menus in The Java Tutorial.
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 JavaBeansTM
has been added to the java.beans
package.
Please see java.beans.XMLEncoder
.
Application may set client properties that act as hints on how to map to soft keys.
For details see Client properties for consumer devices in class
JMenuBar
.
JPopupMenu
,
JMenu
,
JCheckBoxMenuItem
,
JRadioButtonMenuItem
Nested Class Summary |
Nested classes inherited from class javax.swing.AbstractButton |
AbstractButton.ButtonChangeListener |
Field Summary |
Fields inherited from class javax.swing.JComponent |
listenerList, TOOL_TIP_TEXT_KEY, 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 |
Fields inherited from 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 |
Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
JMenuItem()
Creates a JMenuItem with no set text or icon. |
|
JMenuItem(Action a)
Creates a menu item whose properties are taken from the specified Action . |
|
JMenuItem(Icon icon)
Creates a JMenuItem with the specified icon. |
|
JMenuItem(java.lang.String text)
Creates a JMenuItem with the specified text. |
|
JMenuItem(java.lang.String text,
Icon icon)
Creates a JMenuItem with the specified text and icon. |
|
JMenuItem(java.lang.String text,
int mnemonic)
Creates a JMenuItem with the specified text and
keyboard mnemonic. |
Method Summary | |
void |
addMenuDragMouseListener(MenuDragMouseListener l)
Adds a MenuDragMouseListener to the menu item. |
void |
addMenuKeyListener(MenuKeyListener l)
Adds a MenuKeyListener to the menu item. |
protected void |
configurePropertiesFromAction(Action a)
Factory method which sets the ActionEvent source's
properties according to values from the Action instance. |
protected java.beans.PropertyChangeListener |
createActionPropertyChangeListener(Action a)
Factory method which creates the PropertyChangeListener
used to update the ActionEvent source as properties
change on its Action instance. |
protected void |
fireMenuDragMouseDragged(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDragMouseEntered(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDragMouseExited(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDragMouseReleased(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuKeyPressed(MenuKeyEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuKeyReleased(MenuKeyEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuKeyTyped(MenuKeyEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
KeyStroke |
getAccelerator()
Returns the KeyStroke which serves as an accelerator
for the menu item. |
java.awt.Component |
getComponent()
Returns the java.awt.Component used to paint
this object. |
MenuDragMouseListener[] |
getMenuDragMouseListeners()
Returns an array of all the MenuDragMouseListener s added
to this JMenuItem with addMenuDragMouseListener(). |
MenuKeyListener[] |
getMenuKeyListeners()
Returns an array of all the MenuKeyListener s added
to this JMenuItem with addMenuKeyListener(). |
MenuElement[] |
getSubElements()
This method returns an array containing the sub-menu components for this menu component. |
protected void |
init(java.lang.String text,
Icon icon)
Initializes the menu item with the specified text and icon. |
boolean |
isArmed()
Returns whether the menu item is "armed". |
void |
menuSelectionChanged(boolean isIncluded)
Called by the MenuSelectionManager when the
MenuElement is selected or unselected. |
void |
paint(java.awt.Graphics g)
Invoked by Swing to draw components. |
protected void |
paintBorder(java.awt.Graphics g)
Paint the button's border if BorderPainted
property is true and the button has a border. |
protected void |
paintComponent(java.awt.Graphics g)
Calls the UI delegate's paint method, if the UI delegate is non- null . |
void |
paintComponents(java.awt.Graphics g)
|
protected java.lang.String |
paramString()
Returns a string representation of this JMenuItem . |
protected void |
printBorder(java.awt.Graphics g)
Prints the component's border. |
protected void |
printComponent(java.awt.Graphics g)
This is invoked during a printing operation. |
void |
printComponents(java.awt.Graphics g)
|
void |
processKeyEvent(java.awt.event.KeyEvent e,
MenuElement[] path,
MenuSelectionManager manager)
Processes a key event forwarded from the MenuSelectionManager and changes the menu selection,
if necessary, by using MenuSelectionManager 's API. |
void |
processMenuDragMouseEvent(MenuDragMouseEvent e)
Handles mouse drag in a menu. |
void |
processMenuKeyEvent(MenuKeyEvent e)
Handles a keystroke in a menu. |
void |
processMouseEvent(java.awt.event.MouseEvent e,
MenuElement[] path,
MenuSelectionManager manager)
Processes a mouse event forwarded from the MenuSelectionManager and changes the menu
selection, if necessary, by using the
MenuSelectionManager 's API. |
void |
removeMenuDragMouseListener(MenuDragMouseListener l)
Removes a MenuDragMouseListener from the menu item. |
void |
removeMenuKeyListener(MenuKeyListener l)
Removes a MenuKeyListener from the menu item. |
void |
setAccelerator(KeyStroke keyStroke)
Sets the key combination which invokes the menu item's action listeners without navigating the menu hierarchy. |
void |
setArmed(boolean b)
Identifies the menu item as "armed". |
void |
setEnabled(boolean b)
Enables or disables the menu item. |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, list, list, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getCursor, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getSize, getToolkit, getTreeLock, hasFocus, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, setBounds, setBounds, setCursor, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public JMenuItem()
JMenuItem
with no set text or icon.
public JMenuItem(Icon icon)
JMenuItem
with the specified icon.
icon
- the icon of the JMenuItem
public JMenuItem(java.lang.String text)
JMenuItem
with the specified text.
text
- the text of the JMenuItem
public JMenuItem(Action a)
Action
.
a
- the action of the JMenuItem
public JMenuItem(java.lang.String text, Icon icon)
JMenuItem
with the specified text and icon.
text
- the text of the JMenuItem
icon
- the icon of the JMenuItem
public JMenuItem(java.lang.String text, int mnemonic)
JMenuItem
with the specified text and
keyboard mnemonic.
text
- the text of the JMenuItem
mnemonic
- the keyboard mnemonic for the JMenuItem
Method Detail |
protected void init(java.lang.String text, Icon icon)
init
in class AbstractButton
text
- the text of the JMenuItem
icon
- the icon of the JMenuItem
public final void paint(java.awt.Graphics g)
JComponent
paint
directly,
but should instead use the repaint
method to
schedule the component for redrawing.
This method actually delegates the work of painting to three
protected methods: paintComponent
,
paintBorder
,
and paintChildren
. They're called in the order
listed to ensure that children appear on top of component itself.
Generally speaking, the component and its children should not
paint in the insets area allocated to the border. Subclasses can
just override this method, as always.
paint
in class JComponent
g
- the Graphics
context in which to paintJComponent.paintBorder(java.awt.Graphics)
,
JComponent.paintChildren(java.awt.Graphics)
,
JComponent.getComponentGraphics(java.awt.Graphics)
,
JComponent.repaint(long, int, int, int, int)
public void setArmed(boolean b)
b
- true to arm the menu item so it can be selectedpublic boolean isArmed()
setArmed(boolean)
public void setEnabled(boolean b)
setEnabled
in class AbstractButton
b
- true to enable the itempublic void setAccelerator(KeyStroke keyStroke)
keyStroke
- the KeyStroke
which will
serve as an acceleratorpublic KeyStroke getAccelerator()
KeyStroke
which serves as an accelerator
for the menu item.
KeyStroke
object identifying the
accelerator keyprotected void configurePropertiesFromAction(Action a)
ActionEvent
source's
properties according to values from the Action
instance.
The properties which are set may differ for subclasses.
By default, this method sets the same properties as
AbstractButton.configurePropertiesFromAction()
, plus
Accelerator
.
configurePropertiesFromAction
in class AbstractButton
a
- the Action
from which to get the properties,
or null
Action
protected java.beans.PropertyChangeListener createActionPropertyChangeListener(Action a)
PropertyChangeListener
used to update the ActionEvent
source as properties
change on its Action
instance.
Subclasses may override this in order to provide their own
PropertyChangeListener
if the set of
properties which should be kept up to date differs.
Note that PropertyChangeListeners
should avoid holding
strong references to the ActionEvent
source,
as this may hinder garbage collection of the ActionEvent
source and all components in its containment hierarchy.
createActionPropertyChangeListener
in class AbstractButton
a
- the Action
from which to get the properties,
or null
Action
public void processMouseEvent(java.awt.event.MouseEvent e, MenuElement[] path, MenuSelectionManager manager)
MenuSelectionManager
and changes the menu
selection, if necessary, by using the
MenuSelectionManager
's API.
Note: you do not have to forward the event to sub-components.
This is done automatically by the MenuSelectionManager
.
processMouseEvent
in interface MenuElement
e
- a MouseEvent
path
- the MenuElement
path arraymanager
- the MenuSelectionManager
public void processKeyEvent(java.awt.event.KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
MenuSelectionManager
and changes the menu selection,
if necessary, by using MenuSelectionManager
's API.
Note: you do not have to forward the event to sub-components.
This is done automatically by the MenuSelectionManager
.
processKeyEvent
in interface MenuElement
e
- a KeyEvent
path
- the MenuElement
path arraymanager
- the MenuSelectionManager
public void processMenuDragMouseEvent(MenuDragMouseEvent e)
e
- a MenuDragMouseEvent
objectpublic void processMenuKeyEvent(MenuKeyEvent e)
e
- a MenuKeyEvent
objectprotected void fireMenuDragMouseEntered(MenuDragMouseEvent event)
event
- a MenuMouseDragEvent
EventListenerList
protected void fireMenuDragMouseExited(MenuDragMouseEvent event)
event
- a MenuDragMouseEvent
EventListenerList
protected void fireMenuDragMouseDragged(MenuDragMouseEvent event)
event
- a MenuDragMouseEvent
EventListenerList
protected void fireMenuDragMouseReleased(MenuDragMouseEvent event)
event
- a MenuDragMouseEvent
EventListenerList
protected void fireMenuKeyPressed(MenuKeyEvent event)
event
- a MenuKeyEvent
EventListenerList
protected void fireMenuKeyReleased(MenuKeyEvent event)
event
- a MenuKeyEvent
EventListenerList
protected void fireMenuKeyTyped(MenuKeyEvent event)
event
- a MenuKeyEvent
EventListenerList
public void menuSelectionChanged(boolean isIncluded)
MenuSelectionManager
when the
MenuElement
is selected or unselected.
menuSelectionChanged
in interface MenuElement
isIncluded
- true if this menu item is on the part of the menu
path that changed, false if this menu is part of the
a menu path that changed, but this particular part of
that path is still the sameMenuSelectionManager.setSelectedPath(MenuElement[])
public MenuElement[] getSubElements()
getSubElements
in interface MenuElement
MenuElement
spublic java.awt.Component getComponent()
java.awt.Component
used to paint
this object. The returned component will be used to convert
events and detect if an event is inside a menu component.
getComponent
in interface MenuElement
Component
that paints this menu itempublic void addMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener
to the menu item.
l
- the MenuDragMouseListener
to be addedpublic void removeMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener
from the menu item.
l
- the MenuDragMouseListener
to be removedpublic MenuDragMouseListener[] getMenuDragMouseListeners()
MenuDragMouseListener
s added
to this JMenuItem with addMenuDragMouseListener().
MenuDragMouseListener
s added or an empty
array if no listeners have been addedpublic void addMenuKeyListener(MenuKeyListener l)
MenuKeyListener
to the menu item.
l
- the MenuKeyListener
to be addedpublic void removeMenuKeyListener(MenuKeyListener l)
MenuKeyListener
from the menu item.
l
- the MenuKeyListener
to be removedpublic MenuKeyListener[] getMenuKeyListeners()
MenuKeyListener
s added
to this JMenuItem with addMenuKeyListener().
MenuKeyListener
s added or an empty
array if no listeners have been addedprotected java.lang.String paramString()
JMenuItem
.
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
.
paramString
in class AbstractButton
JMenuItem
protected final void paintComponent(java.awt.Graphics g)
JComponent
null
. We pass the delegate a copy of the
Graphics
object to protect the rest of the
paint code from irrevocable changes
(for example, Graphics.translate
).
paintComponent
in class JComponent
g
- the Graphics
object to protectJComponent.paint(java.awt.Graphics)
,
ComponentUI
protected final void paintBorder(java.awt.Graphics g)
AbstractButton
BorderPainted
property is true and the button has a border.
paintBorder
in class AbstractButton
g
- the Graphics
context in which to paintJComponent.paint(java.awt.Graphics)
,
JComponent.setBorder(javax.swing.border.Border)
public final void paintComponents(java.awt.Graphics g)
protected final void printComponent(java.awt.Graphics g)
JComponent
paintComponent
on the component.
printComponent
in class JComponent
g
- the Graphics
context in which to paintJComponent.print(java.awt.Graphics)
protected final void printBorder(java.awt.Graphics g)
JComponent
paintBorder
on the component.
printBorder
in class JComponent
g
- the Graphics
context in which to paintJComponent.print(java.awt.Graphics)
public final void printComponents(java.awt.Graphics g)
|
JSR-209 (Final Release) | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |