Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.swing.JPopupMenu

java.lang.Object
    |
    +----java.awt.Component
            |
            +----java.awt.Container
                    |
                    +----java.awt.swing.JComponent
                            |
                            +----java.awt.swing.JPopupMenu

public class JPopupMenu
extends JComponent
implements Accessible, MenuElement
An implementation of a Popup Menu -- a small window which 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.

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 Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


Inner Class Summary
 JPopupMenu.AccessibleJPopupMenu
 
 
Inner classes inherited from class java.awt.swing.JComponent
 JComponent.AccessibleJComponent
 

Fields inherited from class java.awt.swing.JComponent
 accessibleContext, 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
 BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 

Constructor Summary
 JPopupMenu()
Create a JPopupMenu without an "invoker".
 JPopupMenu(String label)
Create a JPopupMenu with the specified title.
 

Method Summary
JMenuItem  add(JMenuItem menuItem)
Appends the specified menu item to the end of this menu.
Component  add(Component c)
Appends the specified component to the end of this menu.
JMenuItem  add(Action a)
Append a new menuitem to the end of the menu which dispatches the specified Action object.
void  addPopupMenuListener(PopupMenuListener l)
Add a PopupMenu listener param l the PopupMenuListener to add
void  addSeparator()
 
PropertyChangeListener  createActionChangeListener(JMenuItem b)
 
void  firePopupMenuCanceled()
Notifies PopupMenuListeners that this popup menu is canceled
void  firePopupMenuWillBecomeInvisible()
Notifies PopupMenuListeners that this popup menu will become invisible
void  firePopupMenuWillBecomeVisible()
Notifies PopupMenuListeners that this popup menu will become visible
AccessibleContext  getAccessibleContext()
Get the AccessibleContext associated with this JComponent
Component  getComponent()
 
Component  getComponentAtIndex(int i)
Returns the component at the specified index.
int  getComponentIndex(Component c)
Returns the index of the specified component.
static boolean  getDefaultLightWeightPopupEnabled()
Return the default value for the lightWeightPopupEnabled property.
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 between the popupmenu's border and its containees.
SingleSelectionModel  getSelectionModel()
Returns the model object that handles single selections.
MenuElement[]  getSubElements()
 
java.awt.swing.plaf.PopupMenuUI  getUI()
Returns the 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 Action object at a given position.
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()
Returns true if lightweight (all-Java) popups are in use, or false if heavyweight (native peer) popups are being used.
boolean  isVisible()
Returns true if the popupmenu is visible (currently being displayed).
void  menuSelectionChanged(boolean isIncluded)
 
void  pack()
Layout the container so that it uses the minimum space needed to display its contents.
void  paintBorder(Graphics g)
Paint the popup menu's border if BorderPainted property is true.
void  processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
 
void  processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
 
void  removePopupMenuListener(PopupMenuListener l)
Remove a PopupMenu listener param l the PopupMenuListener to remove
void  setBorderPainted(boolean b)
Sets whether the border should be painted.
static void  setDefaultLightWeightPopupEnabled(boolean aFlag)
Set the default value for the lightWeightPopupEnabled property.
void  setInvoker(Component invoker)
Sets the invoker of this popupmenu -- the component in which the popupmenu menu is to be displayed.
void  setLabel(String label)
Sets the popup menu's label.
void  setLightWeightPopupEnabled(boolean aFlag)
When displaying the popup, JPopupMenu choose to use a light weight popup if it fits.
void  setLocation(int x, int y)
Set 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 Dimension object.
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)
Set the model object to handle single selections.
void  setUI(java.awt.swing.plaf.PopupMenuUI ui)
Sets the L&F object that renders this component.
void  setVisible(boolean b)
 
void  show(Component invoker, int x, int y)
Display the popupmenu at the position x,y in the coordinate space of the component invoker.
void  updateUI()
Notification from the UIFactory that the L&F has changed.
 
Methods inherited from class java.awt.swing.JComponent
 addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setBounds, setDebugGraphicsOptions, setDoubleBuffered, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
 add, add, add, add, add, addContainerListener, addImpl, addNotify, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
 action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getColorModel, getComponentAt, getComponentAt, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getParent, getPeer, getPreferredSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isDisplayable, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, update, validate
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JPopupMenu

public JPopupMenu()
Create a JPopupMenu without an "invoker".

JPopupMenu

public JPopupMenu(String label)
Create a JPopupMenu with the specified title.
Parameters:
label - The string that a UI may use to display as a title for the popup menu.
Method Detail

setDefaultLightWeightPopupEnabled

public static void setDefaultLightWeightPopupEnabled(boolean aFlag)
Set the default value for the lightWeightPopupEnabled property.

getDefaultLightWeightPopupEnabled

public static boolean getDefaultLightWeightPopupEnabled()
Return the default value for the lightWeightPopupEnabled property.

getUI

public java.awt.swing.plaf.PopupMenuUI getUI()
Returns the L&F object that renders this component.
Returns:
the PopupMenuUI object that renders this component

setUI

public void setUI(java.awt.swing.plaf.PopupMenuUI ui)
Sets the L&F object that renders this component.
Parameters:
ui - the new PopupMenuUI L&F object
See Also:
getUI

updateUI

public void updateUI()
Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.
Overrides:
updateUI in class JComponent
See Also:
updateUI

getUIClassID

public String getUIClassID()
Returns the name of the L&F class that renders this component.
Returns:
"PopupMenuUI"
Overrides:
getUIClassID in class JComponent
See Also:
getUIClassID, getUI

getSelectionModel

public SingleSelectionModel getSelectionModel()
Returns the model object that handles single selections.
Returns:
the SingleSelectionModel in use
See Also:
SingleSelectionModel

setSelectionModel

public void setSelectionModel(SingleSelectionModel model)
Set the model object to handle single selections.
Parameters:
model - the SingleSelectionModel to use
See Also:
SingleSelectionModel

add

public JMenuItem add(JMenuItem menuItem)
Appends the specified menu item to the end of this menu.
Parameters:
c - the JMenuItem to add
Returns:
the JMenuItem added.

add

public Component add(Component c)
Appends the specified component to the end of this menu.
Parameters:
c - the Component to add
Returns:
the Component added.
Overrides:
add in class Container

add

public JMenuItem add(Action a)
Append a new menuitem to the end of the menu which dispatches the specified Action object.
Parameters:
a - the Action to add to the menu
See Also:
Action

createActionChangeListener

protected PropertyChangeListener createActionChangeListener(JMenuItem b)

setLightWeightPopupEnabled

public void setLightWeightPopupEnabled(boolean aFlag)
When displaying the popup, JPopupMenu choose to use a light weight popup if it fits. This method allows you to disable this feature. You have to do disable it if your application mixes light weight and heavy weights components.

isLightWeightPopupEnabled

public boolean isLightWeightPopupEnabled()
Returns true if lightweight (all-Java) popups are in use, or false if heavyweight (native peer) popups are being used.
Returns:
true if lightweight popups are in use

getLabel

public String getLabel()
Returns the popup menu's label
See Also:
setLabel

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 - the label for the popup menu
See Also:
getText

addSeparator

public void addSeparator()

insert

public void insert(Action a,
                   int index)
Inserts a menu item for the specified Action object at a given position.
Parameters:
component - the Action object to insert
index - an int specifying the position at which to insert the Action, where 0 is the first
See Also:
Action

insert

public void insert(Component component,
                   int index)
Inserts the specified component into the menu at a given position.
Parameters:
component - the Component to insert
index - an int specifying the position at which to insert the component, where 0 is the first

addPopupMenuListener

public void addPopupMenuListener(PopupMenuListener l)
Add a PopupMenu listener param l the PopupMenuListener to add

removePopupMenuListener

public void removePopupMenuListener(PopupMenuListener l)
Remove a PopupMenu listener param l the PopupMenuListener to remove

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 canceled

pack

public void pack()
Layout the container so that it uses the minimum space needed to display its contents.

setVisible

public void setVisible(boolean b)
Overrides:
setVisible in class JComponent

isVisible

public boolean isVisible()
Returns true if the popupmenu is visible (currently being displayed).
Overrides:
isVisible in class Component

setLocation

public void setLocation(int x,
                        int y)
Set the location of the upper left corner of the popup menu using x, y coordinates.
Parameters:
x - the x coordinate of the popup's new position
y - the y coordinate of the popup's new position
Overrides:
setLocation in class Component

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 popupmenu -- the component in which the popupmenu menu is to be displayed.
Parameters:
invoker - the Component in which the popup menu is displayed

show

public void show(Component invoker,
                 int x,
                 int y)
Display the popupmenu at the position x,y in the coordinate space of the component invoker.
Parameters:
invoker - The component in whose space the popupmenu 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

getComponentIndex

public int getComponentIndex(Component c)
Returns the index of the specified component.
Parameters:
the - Component to find
Returns:
the index of the component, where 0 is the first, or -1 if the component is not found

getComponentAtIndex

public Component getComponentAtIndex(int i)
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

setPopupSize

public void setPopupSize(Dimension d)
Sets the size of the Popup window using a Dimension object.
Parameters:
d - The dimension 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.
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 - the Component to select

isBorderPainted

public boolean isBorderPainted()
Checks whether the border should be painted.
Returns:
true if the border is painted
See Also:
setBorderPainted

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)
Paint the popup menu's border if BorderPainted property is true.
Overrides:
paintBorder in class JComponent
See Also:
paint, setBorder

getMargin

public Insets getMargin()
Returns the margin between the popupmenu's border and its containees. return an Insets object containing the margin values.

getAccessibleContext

public AccessibleContext getAccessibleContext()
Get the AccessibleContext associated with this JComponent
Implements:
getAccessibleContext in interface Accessible
Returns:
the AccessibleContext of this JComponent
Overrides:
getAccessibleContext in class JComponent

processMouseEvent

public void processMouseEvent(MouseEvent event,
                              MenuElement[] path,
                              MenuSelectionManager manager)
Implements:
processMouseEvent in interface MenuElement

processKeyEvent

public void processKeyEvent(KeyEvent e,
                            MenuElement[] path,
                            MenuSelectionManager manager)
Implements:
processKeyEvent in interface MenuElement

menuSelectionChanged

public void menuSelectionChanged(boolean isIncluded)
Implements:
menuSelectionChanged in interface MenuElement

getSubElements

public MenuElement[] getSubElements()
Implements:
getSubElements in interface MenuElement

getComponent

public Component getComponent()
Implements:
getComponent in interface MenuElement

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.