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
@JavaBean(defaultProperty="UI",
          description="A small window that pops up and displays a series of choices.")
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.
- Since:
- 1.2
- See Also:
- Serialized Form
Nested Classes
| Modifier and Type | Class | Description | 
|---|---|---|
| protected class  | JPopupMenu.AccessibleJPopupMenu | This class implements accessibility support for the  | 
| static class  | JPopupMenu.Separator | A popup menu-specific separator. | 
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  Fields
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  Constructors
| Constructor | Description | 
|---|---|
| JPopupMenu() | Constructs a  | 
| JPopupMenu(String label) | Constructs a  | 
Methods
| Modifier and Type | Method | Description | 
|---|---|---|
| JMenuItem | add(String s) | Creates a new menu item with the specified text and appends it to the end of this menu. | 
| 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. | 
| 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  Container.getComponent(int) | 
| 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(Component component,
      int index) | Inserts the specified component into the menu at a given position. | 
| void | insert(Action a,
      int index) | Inserts a menu item for the specified  | 
| 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 | 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(int width,
            int height) | Sets the size of the Popup window to the specified width and height. | 
| void | setPopupSize(Dimension d) | Sets the size of the Popup window using a  | 
| 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 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, 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 declared in 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 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, hide, 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, 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, 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  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-trueif 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 defaultLightWeightPopupEnabledproperty
- See Also:
- setDefaultLightWeightPopupEnabled(boolean)
getUI
public PopupMenuUI getUI()
Returns the look and feel (L&F) object that renders this component.
- Overrides:
- 
getUIin classJComponent
- Returns:
- the PopupMenuUIobject that renders this component
setUI
@BeanProperty(hidden=true,
              visualUpdate=true,
              description="The UI object that implements the Component\'s LookAndFeel.")
public void setUI(PopupMenuUI ui) Sets the L&F object that renders this component.
- Parameters:
- 
ui- the newPopupMenuUIL&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:
- 
updateUIin classJComponent
- 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 classJComponent
- Returns:
- the string "PopupMenuUI"
- See Also:
- 
JComponent.getUIClassID(),UIDefaults.getUI(javax.swing.JComponent)
processKeyEvent
protected void processKeyEvent(KeyEvent evt)
Processes key stroke events such as mnemonics and accelerators.
- Overrides:
- 
processKeyEventin 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 selectionModelproperty
- See Also:
- SingleSelectionModel
setSelectionModel
@BeanProperty(bound=false,
              expert=true,
              description="The selection model for the popup menu")
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- theJMenuItemto add
- Returns:
- the JMenuItemadded
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
- Returns:
- a new JMenuItemcreated usings
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- theActionto 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- theActionfor 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.
- Parameters:
- 
b- the menu item for which to create a listener
- Returns:
- a properly configured PropertyChangeListener
remove
public void remove(int pos)
Removes the component at the specified index from this popup menu.
- Overrides:
- 
removein classContainer
- Parameters:
- 
pos- the position of the item to be removed
- Throws:
- 
IllegalArgumentException- if the value ofpos< 0, or if the value ofposis greater than the number of items
- See Also:
- 
Container.add(java.awt.Component),Container.invalidate(),Container.validate(),Container.getComponentCount()
setLightWeightPopupEnabled
@BeanProperty(bound=false,
              expert=true,
              description="Determines whether lightweight popups are used when possible")
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-falseto disable lightweight popups
- See Also:
- isLightWeightPopupEnabled()
isLightWeightPopupEnabled
public boolean isLightWeightPopupEnabled()
Gets the lightWeightPopupEnabled property.
- Returns:
- the value of the lightWeightPopupEnabledproperty
- 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
@BeanProperty(description="The label for the popup menu.") 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- theActionobject 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- theComponentto 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- thePopupMenuListenerto add
removePopupMenuListener
public void removePopupMenuListener(PopupMenuListener l)
Removes a PopupMenu listener.
- Parameters:
- 
l- thePopupMenuListenerto remove
getPopupMenuListeners
@BeanProperty(bound=false) public PopupMenuListener[] getPopupMenuListeners()
Returns an array of all the PopupMenuListeners added to this JMenuItem with addPopupMenuListener().
- Returns:
- all of the PopupMenuListeners 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- theMenuKeyListenerto be added
- Since:
- 1.5
removeMenuKeyListener
public void removeMenuKeyListener(MenuKeyListener l)
Removes a MenuKeyListener from the popup menu.
- Parameters:
- 
l- theMenuKeyListenerto be removed
- Since:
- 1.5
getMenuKeyListeners
@BeanProperty(bound=false) public MenuKeyListener[] getMenuKeyListeners()
Returns an array of all the MenuKeyListeners added to this JPopupMenu with addMenuKeyListener().
- Returns:
- all of the MenuKeyListeners added or an empty array if no listeners have been added
- Since:
- 1.5
firePopupMenuWillBecomeVisible
protected void firePopupMenuWillBecomeVisible()
Notifies PopupMenuListeners that this popup menu will become visible.
firePopupMenuWillBecomeInvisible
protected void firePopupMenuWillBecomeInvisible()
Notifies PopupMenuListeners 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
@BeanProperty(description="Makes the popup visible") public void setVisible(boolean b)
Sets the visibility of the popup menu.
- Overrides:
- 
setVisiblein 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:
- 
isVisiblein classComponent
- Returns:
- 
trueif the component is visible,falseotherwise
- See Also:
- Component.setVisible(boolean)
setLocation
@BeanProperty(description="The location of the popup menu.")
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:
- 
setLocationin 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 Componentin which the popup menu is displayed
setInvoker
@BeanProperty(bound=false,
              expert=true,
              description="The invoking component for the popup menu")
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- theComponentin 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)
Container.getComponent(int)
Returns the component at the specified index.
- Parameters:
- 
i- the index of the component, where 0 is the first
- Returns:
- the Componentat that index
getComponentIndex
public int getComponentIndex(Component c)
Returns the index of the specified component.
- Parameters:
- 
c- theComponentto find
- Returns:
- the index of the component, where 0 is the first; or -1 if the component is not found
setPopupSize
@BeanProperty(description="The size of the popup menu") public void setPopupSize(Dimension d)
Sets the size of the Popup window using a Dimension object. This is equivalent to setPreferredSize(d).
- Parameters:
- 
d- theDimensionspecifying the new size of this component.
setPopupSize
@BeanProperty(description="The size of the popup menu")
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
@BeanProperty(expert=true,
              hidden=true,
              description="The selected component on the popup menu")
public void setSelected(Component sel) Sets the currently selected component, This will result in a change to the selection model.
- Parameters:
- 
sel- theComponentto 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
@BeanProperty(bound=false,
              description="Is the border of the popup menu painted")
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:
- 
paintBorderin classJComponent
- Parameters:
- 
g- theGraphicsobject
- See Also:
- 
JComponent.paint(java.awt.Graphics),JComponent.setBorder(javax.swing.border.Border)
getMargin
@BeanProperty(bound=false) public Insets getMargin()
Returns the margin, in pixels, between the popup menu's border and its containers.
- Returns:
- an Insetsobject 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:
- 
paramStringin classJComponent
- Returns:
- a string representation of this JPopupMenu.
getAccessibleContext
@BeanProperty(bound=false) 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:
- 
getAccessibleContextin interfaceAccessible
- Overrides:
- 
getAccessibleContextin 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:
- 
processMouseEventin interfaceMenuElement
- Parameters:
- 
event- aMouseEventto be processed
- 
path- the path of the receiving element in the menu hierarchy
- 
manager- theMenuSelectionManagerfor the menu hierarchy
- 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:
- 
processKeyEventin interfaceMenuElement
- Parameters:
- 
e- aKeyEvent
- 
path- theMenuElementpath 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:
- 
menuSelectionChangedin interfaceMenuElement
- Parameters:
- 
isIncluded- true if this menu is active, false if it is not
- See Also:
- MenuElement.menuSelectionChanged(boolean)
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
Returns an array of MenuElements 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:
- 
getSubElementsin interfaceMenuElement
- Returns:
- an array of MenuElementobjects
- See Also:
- MenuElement.getSubElements()
getComponent
public Component getComponent()
Returns this JPopupMenu component.
- Specified by:
- 
getComponentin interfaceMenuElement
- Returns:
- this JPopupMenuobject
- 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.
- Parameters:
- 
e- aMouseEvent
- 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/en/java/javase/11/docs/api/java.desktop/javax/swing/JPopupMenu.html