Class JPopupMenu
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPopupMenu
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible, MenuElement
- Direct Known Subclasses:
- BasicComboPopup
public class JPopupMenu extends JComponent implements Accessible, MenuElement
An implementation of a popup menu -- a small window that pops up and displays a series of choices. A JPopupMenu
is used for the menu that appears when the user selects an item on the menu bar. It is also used for "pull-right" menu that appears when the selects a menu item that activates it. Finally, a JPopupMenu
can also be used anywhere else you want a menu to appear. For example, when the user right-clicks in a specified area.
For information and examples of using popup menus, see How to Use Menus 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
.
Nested Classes
Modifier and Type | Class and Description |
---|---|
protected class |
JPopupMenu.AccessibleJPopupMenu This class implements accessibility support for the |
static class |
JPopupMenu.Separator A popup menu-specific separator. |
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Fields
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructors
Constructor and Description |
---|
JPopupMenu() Constructs a |
JPopupMenu(String label) Constructs a |
Methods
Modifier and Type | Method and Description |
---|---|
JMenuItem |
add(Action a) Appends a new menu item to the end of the menu which dispatches the specified |
JMenuItem |
add(JMenuItem menuItem) Appends the specified menu item to the end of this menu. |
JMenuItem |
add(String s) Creates a new menu item with the specified text and appends it to the end of this menu. |
void |
addMenuKeyListener(MenuKeyListener l) Adds a |
void |
addPopupMenuListener(PopupMenuListener l) Adds a |
void |
addSeparator() Appends a new separator at the end of the menu. |
protected PropertyChangeListener |
createActionChangeListener(JMenuItem b) Returns a properly configured |
protected JMenuItem |
createActionComponent(Action a) Factory method which creates the |
protected void |
firePopupMenuCanceled() Notifies |
protected void |
firePopupMenuWillBecomeInvisible() Notifies |
protected void |
firePopupMenuWillBecomeVisible() Notifies |
AccessibleContext |
getAccessibleContext() Gets the AccessibleContext associated with this JPopupMenu. |
Component |
getComponent() Returns this |
Component |
getComponentAtIndex(int i) Deprecated. replaced by |
int |
getComponentIndex(Component c) Returns the index of the specified component. |
static boolean |
getDefaultLightWeightPopupEnabled() Gets the |
Component |
getInvoker() Returns the component which is the 'invoker' of this popup menu. |
String |
getLabel() Returns the popup menu's label |
Insets |
getMargin() Returns the margin, in pixels, between the popup menu's border and its containers. |
MenuKeyListener[] |
getMenuKeyListeners() Returns an array of all the |
PopupMenuListener[] |
getPopupMenuListeners() Returns an array of all the |
SingleSelectionModel |
getSelectionModel() Returns the model object that handles single selections. |
MenuElement[] |
getSubElements() Returns an array of |
PopupMenuUI |
getUI() Returns the look and feel (L&F) object that renders this component. |
String |
getUIClassID() Returns the name of the L&F class that renders this component. |
void |
insert(Action a,
int index) Inserts a menu item for the specified |
void |
insert(Component component,
int index) Inserts the specified component into the menu at a given position. |
boolean |
isBorderPainted() Checks whether the border should be painted. |
boolean |
isLightWeightPopupEnabled() Gets the |
boolean |
isPopupTrigger(MouseEvent e) Returns true if the |
boolean |
isVisible() Returns true if the popup menu is visible (currently being displayed). |
void |
menuSelectionChanged(boolean isIncluded) Messaged when the menubar selection changes to activate or deactivate this menu. |
void |
pack() Lays out the container so that it uses the minimum space needed to display its contents. |
protected void |
paintBorder(Graphics g) Paints the popup menu's border if the |
protected String |
paramString() Returns a string representation of this |
protected void |
processFocusEvent(FocusEvent evt) Processes focus events occurring on this component by dispatching them to any registered |
protected void |
processKeyEvent(KeyEvent evt) Processes key stroke events such as mnemonics and accelerators. |
void |
processKeyEvent(KeyEvent e,
MenuElement[] path,
MenuSelectionManager manager) Processes a key event forwarded from the |
void |
processMouseEvent(MouseEvent event,
MenuElement[] path,
MenuSelectionManager manager) This method is required to conform to the |
void |
remove(int pos) Removes the component at the specified index from this popup menu. |
void |
removeMenuKeyListener(MenuKeyListener l) Removes a |
void |
removePopupMenuListener(PopupMenuListener l) Removes a |
void |
setBorderPainted(boolean b) Sets whether the border should be painted. |
static void |
setDefaultLightWeightPopupEnabled(boolean aFlag) Sets the default value of the |
void |
setInvoker(Component invoker) Sets the invoker of this popup menu -- the component in which the popup menu menu is to be displayed. |
void |
setLabel(String label) Sets the popup menu's label. |
void |
setLightWeightPopupEnabled(boolean aFlag) Sets the value of the |
void |
setLocation(int x,
int y) Sets the location of the upper left corner of the popup menu using x, y coordinates. |
void |
setPopupSize(Dimension d) Sets the size of the Popup window using a |
void |
setPopupSize(int width,
int height) Sets the size of the Popup window to the specified width and height. |
void |
setSelected(Component sel) Sets the currently selected component, This will result in a change to the selection model. |
void |
setSelectionModel(SingleSelectionModel model) Sets the model object to handle single selections. |
void |
setUI(PopupMenuUI ui) Sets the L&F object that renders this component. |
void |
setVisible(boolean b) Sets the visibility of the popup menu. |
void |
show(Component invoker,
int x,
int y) Displays the popup menu at the position x,y in the coordinate space of the component invoker. |
void |
updateUI() Resets the UI property to a value from the current look and feel. |
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Constructors
JPopupMenu
public JPopupMenu()
Constructs a JPopupMenu
without an "invoker".
JPopupMenu
public JPopupMenu(String label)
Constructs a JPopupMenu
with the specified title.
- Parameters:
-
label
- the string that a UI may use to display as a title for the popup menu.
Methods
setDefaultLightWeightPopupEnabled
public static void setDefaultLightWeightPopupEnabled(boolean aFlag)
Sets the default value of the lightWeightPopupEnabled
property.
- Parameters:
-
aFlag
-true
if popups can be lightweight, otherwisefalse
- See Also:
-
getDefaultLightWeightPopupEnabled()
,setLightWeightPopupEnabled(boolean)
getDefaultLightWeightPopupEnabled
public static boolean getDefaultLightWeightPopupEnabled()
Gets the defaultLightWeightPopupEnabled
property, which by default is true
.
- Returns:
- the value of the
defaultLightWeightPopupEnabled
property - See Also:
setDefaultLightWeightPopupEnabled(boolean)
getUI
public PopupMenuUI getUI()
Returns the look and feel (L&F) object that renders this component.
- Returns:
- the
PopupMenuUI
object that renders this component
setUI
public void setUI(PopupMenuUI ui)
Sets the L&F object that renders this component.
- Parameters:
-
ui
- the newPopupMenuUI
L&F object - See Also:
UIDefaults.getUI(javax.swing.JComponent)
updateUI
public void updateUI()
Resets the UI property to a value from the current look and feel.
- Overrides:
-
updateUI
in classJComponent
- See Also:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
Returns the name of the L&F class that renders this component.
- Overrides:
-
getUIClassID
in classJComponent
- Returns:
- the string "PopupMenuUI"
- See Also:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
processFocusEvent
protected void processFocusEvent(FocusEvent evt)
Description copied from class: Component
Processes focus events occurring on this component by dispatching them to any registered FocusListener
objects.
This method is not called unless focus events are enabled for this component. Focus events are enabled when one of the following occurs:
- A
FocusListener
object is registered viaaddFocusListener
. - Focus events are enabled via
enableEvents
.
If focus events are enabled for a Component
, the current KeyboardFocusManager
determines whether or not a focus event should be dispatched to registered FocusListener
objects. If the events are to be dispatched, the KeyboardFocusManager
calls the Component
's dispatchEvent
method, which results in a call to the Component
's processFocusEvent
method.
If focus events are enabled for a Component
, calling the Component
's dispatchEvent
method with a FocusEvent
as the argument will result in a call to the Component
's processFocusEvent
method regardless of the current KeyboardFocusManager
.
Note that if the event parameter is null
the behavior is unspecified and may result in an exception.
- Overrides:
-
processFocusEvent
in classComponent
- Parameters:
-
evt
- the focus event - See Also:
-
FocusEvent
,FocusListener
,KeyboardFocusManager
,Component.addFocusListener(java.awt.event.FocusListener)
,Component.enableEvents(long)
,Component.dispatchEvent(java.awt.AWTEvent)
processKeyEvent
protected void processKeyEvent(KeyEvent evt)
Processes key stroke events such as mnemonics and accelerators.
- Overrides:
-
processKeyEvent
in classJComponent
- 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()
getSelectionModel
public SingleSelectionModel getSelectionModel()
Returns the model object that handles single selections.
- Returns:
- the
selectionModel
property - See Also:
SingleSelectionModel
setSelectionModel
public void setSelectionModel(SingleSelectionModel model)
Sets the model object to handle single selections.
- Parameters:
-
model
- the newSingleSelectionModel
- See Also:
SingleSelectionModel
add
public JMenuItem add(JMenuItem menuItem)
Appends the specified menu item to the end of this menu.
- Parameters:
-
menuItem
- theJMenuItem
to add - Returns:
- the
JMenuItem
added
add
public 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
add
public JMenuItem add(Action a)
Appends a new menu item to the end of the menu which dispatches the specified Action
object.
- Parameters:
-
a
- theAction
to add to the menu - Returns:
- the new menu item
- See Also:
Action
createActionComponent
protected JMenuItem createActionComponent(Action a)
Factory method which creates the JMenuItem
for Actions
added to the JPopupMenu
.
- Parameters:
-
a
- theAction
for the menu item to be added - Returns:
- the new menu item
- Since:
- 1.3
- See Also:
Action
createActionChangeListener
protected PropertyChangeListener createActionChangeListener(JMenuItem b)
Returns a properly configured PropertyChangeListener
which updates the control as changes to the Action
occur.
remove
public void remove(int pos)
Removes the component at the specified index from this popup menu.
- Overrides:
-
remove
in classContainer
- Parameters:
-
pos
- the position of the item to be removed - Throws:
-
IllegalArgumentException
- if the value ofpos
< 0, or if the value ofpos
is greater than the number of items - See Also:
-
Container.add(java.awt.Component)
,Container.invalidate()
,Container.validate()
,Container.getComponentCount()
setLightWeightPopupEnabled
public void setLightWeightPopupEnabled(boolean aFlag)
Sets the value of the lightWeightPopupEnabled
property, which by default is true
. By default, when a look and feel displays a popup, it can choose to use a lightweight (all-Java) popup. Lightweight popup windows are more efficient than heavyweight (native peer) windows, but lightweight and heavyweight components do not mix well in a GUI. If your application mixes lightweight and heavyweight components, you should disable lightweight popups. Some look and feels might always use heavyweight popups, no matter what the value of this property.
- Parameters:
-
aFlag
-false
to disable lightweight popups - See Also:
isLightWeightPopupEnabled()
isLightWeightPopupEnabled
public boolean isLightWeightPopupEnabled()
Gets the lightWeightPopupEnabled
property.
- Returns:
- the value of the
lightWeightPopupEnabled
property - See Also:
setLightWeightPopupEnabled(boolean)
getLabel
public String getLabel()
Returns the popup menu's label
- Returns:
- a string containing the popup menu's label
- See Also:
setLabel(java.lang.String)
setLabel
public void setLabel(String label)
Sets the popup menu's label. Different look and feels may choose to display or not display this.
- Parameters:
-
label
- a string specifying the label for the popup menu - See Also:
setLabel(java.lang.String)
addSeparator
public void addSeparator()
Appends a new separator at the end of the menu.
insert
public void insert(Action a, int index)
Inserts a menu item for the specified Action
object at a given position.
- Parameters:
-
a
- theAction
object to insert -
index
- specifies the position at which to insert theAction
, where 0 is the first - Throws:
-
IllegalArgumentException
- ifindex
< 0 - See Also:
Action
insert
public void insert(Component component, int index)
Inserts the specified component into the menu at a given position.
- Parameters:
-
component
- theComponent
to insert -
index
- specifies the position at which to insert the component, where 0 is the first - Throws:
-
IllegalArgumentException
- ifindex
< 0
addPopupMenuListener
public void addPopupMenuListener(PopupMenuListener l)
Adds a PopupMenu
listener.
- Parameters:
-
l
- thePopupMenuListener
to add
removePopupMenuListener
public void removePopupMenuListener(PopupMenuListener l)
Removes a PopupMenu
listener.
- Parameters:
-
l
- thePopupMenuListener
to remove
getPopupMenuListeners
public PopupMenuListener[] getPopupMenuListeners()
Returns an array of all the PopupMenuListener
s added to this JMenuItem with addPopupMenuListener().
- Returns:
- all of the
PopupMenuListener
s added or an empty array if no listeners have been added - Since:
- 1.4
addMenuKeyListener
public void addMenuKeyListener(MenuKeyListener l)
Adds a MenuKeyListener
to the popup menu.
- Parameters:
-
l
- theMenuKeyListener
to be added - Since:
- 1.5
removeMenuKeyListener
public void removeMenuKeyListener(MenuKeyListener l)
Removes a MenuKeyListener
from the popup menu.
- Parameters:
-
l
- theMenuKeyListener
to be removed - Since:
- 1.5
getMenuKeyListeners
public MenuKeyListener[] getMenuKeyListeners()
Returns an array of all the MenuKeyListener
s added to this JPopupMenu with addMenuKeyListener().
- Returns:
- all of the
MenuKeyListener
s added or an empty array if no listeners have been added - Since:
- 1.5
firePopupMenuWillBecomeVisible
protected void firePopupMenuWillBecomeVisible()
Notifies PopupMenuListener
s that this popup menu will become visible.
firePopupMenuWillBecomeInvisible
protected void firePopupMenuWillBecomeInvisible()
Notifies PopupMenuListener
s that this popup menu will become invisible.
firePopupMenuCanceled
protected void firePopupMenuCanceled()
Notifies PopupMenuListeners
that this popup menu is cancelled.
pack
public void pack()
Lays out the container so that it uses the minimum space needed to display its contents.
setVisible
public void setVisible(boolean b)
Sets the visibility of the popup menu.
- Overrides:
-
setVisible
in classJComponent
- Parameters:
-
b
- true to make the popup visible, or false to hide it - See Also:
-
Component.isVisible()
,Component.invalidate()
isVisible
public boolean isVisible()
Returns true if the popup menu is visible (currently being displayed).
- Overrides:
-
isVisible
in classComponent
- Returns:
-
true
if the component is visible,false
otherwise - See Also:
Component.setVisible(boolean)
setLocation
public void setLocation(int x, int y)
Sets the location of the upper left corner of the popup menu using x, y coordinates.
The method changes the geometry-related data. Therefore, the native windowing system may ignore such requests, or it may modify the requested data, so that the JPopupMenu
object is placed and sized in a way that corresponds closely to the desktop settings.
- Overrides:
-
setLocation
in classComponent
- Parameters:
-
x
- the x coordinate of the popup's new position in the screen's coordinate space -
y
- the y coordinate of the popup's new position in the screen's coordinate space - See Also:
-
Component.getLocation()
,Component.setBounds(int, int, int, int)
,Component.invalidate()
getInvoker
public Component getInvoker()
Returns the component which is the 'invoker' of this popup menu.
- Returns:
- the
Component
in which the popup menu is displayed
setInvoker
public void setInvoker(Component invoker)
Sets the invoker of this popup menu -- the component in which the popup menu menu is to be displayed.
- Parameters:
-
invoker
- theComponent
in which the popup menu is displayed
show
public void show(Component invoker, int x, int y)
Displays the popup menu at the position x,y in the coordinate space of the component invoker.
- Parameters:
-
invoker
- the component in whose space the popup menu is to appear -
x
- the x coordinate in invoker's coordinate space at which the popup menu is to be displayed -
y
- the y coordinate in invoker's coordinate space at which the popup menu is to be displayed
getComponentAtIndex
@Deprecated public Component getComponentAtIndex(int i)
Deprecated. replaced by Container.getComponent(int)
Returns the component at the specified index.
- Parameters:
-
i
- the index of the component, where 0 is the first - Returns:
- the
Component
at that index
getComponentIndex
public int getComponentIndex(Component c)
Returns the index of the specified component.
- Parameters:
-
c
- theComponent
to find - Returns:
- the index of the component, where 0 is the first; or -1 if the component is not found
setPopupSize
public void setPopupSize(Dimension d)
Sets the size of the Popup window using a Dimension
object. This is equivalent to setPreferredSize(d)
.
- Parameters:
-
d
- theDimension
specifying the new size of this component.
setPopupSize
public void setPopupSize(int width, int height)
Sets the size of the Popup window to the specified width and height. This is equivalent to setPreferredSize(new Dimension(width, height))
.
- Parameters:
-
width
- the new width of the Popup in pixels -
height
- the new height of the Popup in pixels
setSelected
public void setSelected(Component sel)
Sets the currently selected component, This will result in a change to the selection model.
- Parameters:
-
sel
- theComponent
to select
isBorderPainted
public boolean isBorderPainted()
Checks whether the border should be painted.
- Returns:
- true if the border is painted, false otherwise
- See Also:
setBorderPainted(boolean)
setBorderPainted
public void setBorderPainted(boolean b)
Sets whether the border should be painted.
- Parameters:
-
b
- if true, the border is painted. - See Also:
isBorderPainted()
paintBorder
protected void paintBorder(Graphics g)
Paints the popup menu's border if the borderPainted
property is true
.
- Overrides:
-
paintBorder
in classJComponent
- Parameters:
-
g
- theGraphics
object - See Also:
-
JComponent.paint(java.awt.Graphics)
,JComponent.setBorder(javax.swing.border.Border)
getMargin
public Insets getMargin()
Returns the margin, in pixels, between the popup menu's border and its containers.
- Returns:
- an
Insets
object containing the margin values.
paramString
protected String paramString()
Returns a string representation of this JPopupMenu
. 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 classJComponent
- Returns:
- a string representation of this
JPopupMenu
.
getAccessibleContext
public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JPopupMenu. For JPopupMenus, the AccessibleContext takes the form of an AccessibleJPopupMenu. A new AccessibleJPopupMenu instance is created if necessary.
- Specified by:
-
getAccessibleContext
in interfaceAccessible
- Overrides:
-
getAccessibleContext
in classComponent
- Returns:
- an AccessibleJPopupMenu that serves as the AccessibleContext of this JPopupMenu
processMouseEvent
public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
This method is required to conform to the MenuElement
interface, but it not implemented.
- Specified by:
-
processMouseEvent
in interfaceMenuElement
- See Also:
MenuElement.processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
processKeyEvent
public void processKeyEvent(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.
Note: you do not have to forward the event to sub-components. This is done automatically by the MenuSelectionManager
.
- Specified by:
-
processKeyEvent
in interfaceMenuElement
- Parameters:
-
e
- aKeyEvent
-
path
- theMenuElement
path array -
manager
- theMenuSelectionManager
menuSelectionChanged
public void menuSelectionChanged(boolean isIncluded)
Messaged when the menubar selection changes to activate or deactivate this menu. This implements the javax.swing.MenuElement
interface. Overrides MenuElement.menuSelectionChanged
.
- Specified by:
-
menuSelectionChanged
in interfaceMenuElement
- Parameters:
-
isIncluded
- true if this menu is active, false if it is not - See Also:
MenuElement.menuSelectionChanged(boolean)
getSubElements
public MenuElement[] getSubElements()
Returns an array of MenuElement
s containing the submenu for this menu component. It will only return items conforming to the JMenuElement
interface. If popup menu is null
returns an empty array. This method is required to conform to the MenuElement
interface.
- Specified by:
-
getSubElements
in interfaceMenuElement
- Returns:
- an array of
MenuElement
objects - See Also:
MenuElement.getSubElements()
getComponent
public Component getComponent()
Returns this JPopupMenu
component.
- Specified by:
-
getComponent
in interfaceMenuElement
- Returns:
- this
JPopupMenu
object - See Also:
MenuElement.getComponent()
isPopupTrigger
public boolean isPopupTrigger(MouseEvent e)
Returns true if the MouseEvent
is considered a popup trigger by the JPopupMenu
's currently installed UI.
- Returns:
- true if the mouse event is a popup trigger
- Since:
- 1.3
© 1993, 2020, 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/javase/8/docs/api/javax/swing/JPopupMenu.html