|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object![]()
![]()
![]()
java.awt.Component
![]()
![]()
![]()
java.awt.Container
![]()
![]()
![]()
javax.swing.JComponent
![]()
![]()
![]()
javax.swing.JPopupMenu
, MenuContainer
, Serializable
, Accessible
, MenuElement


public class JPopupMenu

, 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:
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 XMLEncoder
.
| Nested Class Summary | |
|---|---|
protected class |
JPopupMenu.AccessibleJPopupMenu
This class implements accessibility support for the JPopupMenu class. |
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 |
| Field Summary |
|---|
Fields inherited from class javax.swing.JComponent ![]() |
|---|
accessibleContext |
Fields inherited from class java.awt.Component ![]() |
|---|
BOTTOM_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver ![]() |
|---|
ABORT |
| Constructor Summary | |
|---|---|
JPopupMenu
Constructs a JPopupMenu without an "invoker". |
|
JPopupMenu
Constructs a JPopupMenu with the specified title. |
|
| Method Summary | |
|---|---|
JMenuItem |
add
Appends a new menu item to the end of the menu which dispatches the specified Action object. |
JMenuItem |
add
Appends the specified menu item to the end of this menu. |
JMenuItem |
add
Creates a new menu item with the specified text and appends it to the end of this menu. |
void |
addMenuKeyListener
Adds a MenuKeyListener to the popup menu. |
void |
addPopupMenuListener
Adds a PopupMenu listener. |
void |
addSeparator
Appends a new separator at the end of the menu. |
protected PropertyChangeListener |
createActionChangeListener
Returns a properly configured PropertyChangeListener
which updates the control as changes to the Action occur. |
protected JMenuItem |
createActionComponent
Factory method which creates the JMenuItem for
Actions added to the JPopupMenu. |
protected void |
firePopupMenuCanceled
Notifies PopupMenuListeners that this popup menu is
cancelled. |
protected void |
firePopupMenuWillBecomeInvisible
Notifies PopupMenuListeners that this popup menu will
become invisible. |
protected void |
firePopupMenuWillBecomeVisible
Notifies PopupMenuListeners that this popup menu will
become visible. |
AccessibleContext |
getAccessibleContext
Gets the AccessibleContext associated with this JPopupMenu. |
Component |
getComponent
Returns this JPopupMenu component. |
Component |
getComponentAtIndex
Deprecated. replaced by getComponent(int i) |
int |
getComponentIndex
Returns the index of the specified component. |
static boolean |
getDefaultLightWeightPopupEnabled
Gets the defaultLightWeightPopupEnabled property,
which by default is true. |
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 containees. |
MenuKeyListener |
getMenuKeyListeners
Returns an array of all the MenuKeyListeners added
to this JPopupMenu with addMenuKeyListener(). |
PopupMenuListener |
getPopupMenuListeners
Returns an array of all the PopupMenuListeners added
to this JMenuItem with addPopupMenuListener(). |
SingleSelectionModel |
getSelectionModel
Returns the model object that handles single selections. |
MenuElement |
getSubElements
Returns an array of MenuElements containing the submenu
for this menu component. |
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
Inserts a menu item for the specified Action object at
a given position. |
void |
insert
Inserts the specified component into the menu at a given position. |
boolean |
isBorderPainted
Checks whether the border should be painted. |
boolean |
isLightWeightPopupEnabled
Gets the lightWeightPopupEnabled property. |
boolean |
isPopupTrigger
Returns true if the MouseEvent is considered a popup trigger
by the JPopupMenu's currently installed UI. |
boolean |
isVisible
Returns true if the popup menu is visible (currently being displayed). |
void |
menuSelectionChanged
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
Paints the popup menu's border if the borderPainted
property is true. |
protected String |
paramString
Returns a string representation of this JPopupMenu. |
protected void |
processFocusEvent
Processes focus events occurring on this component by dispatching them to any registered FocusListener objects. |
protected void |
processKeyEvent
Processes key stroke events such as mnemonics and accelerators. |
void |
processKeyEvent
Processes a key event forwarded from the MenuSelectionManager and changes the menu selection,
if necessary, by using MenuSelectionManager's API. |
void |
processMouseEvent
This method is required to conform to the MenuElement interface, but it not implemented. |
void |
remove
Removes the component at the specified index from this popup menu. |
void |
removeMenuKeyListener
Removes a MenuKeyListener from the popup menu. |
void |
removePopupMenuListener
Removes a PopupMenu listener. |
void |
setBorderPainted
Sets whether the border should be painted. |
static void |
setDefaultLightWeightPopupEnabled
Sets the default value of the lightWeightPopupEnabled
property. |
void |
setInvoker
Sets the invoker of this popup menu -- the component in which the popup menu menu is to be displayed. |
void |
setLabel
Sets the popup menu's label. |
void |
setLightWeightPopupEnabled
Sets the value of the lightWeightPopupEnabled property,
which by default is true. |
void |
setLocation
Sets the location of the upper left corner of the popup menu using x, y coordinates. |
void |
setPopupSize
Sets the size of the Popup window using a Dimension object. |
void |
setPopupSize
Sets the size of the Popup window to the specified width and height. |
void |
setSelected
Sets the currently selected component, This will result in a change to the selection model. |
void |
setSelectionModel
Sets the model object to handle single selections. |
void |
setUI
Sets the L&F object that renders this component. |
void |
setVisible
Sets the visibility of the popup menu. |
void |
show
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 java.lang.Object ![]() |
|---|
clone |
| Constructor Detail |
|---|

public JPopupMenu()
JPopupMenu without an "invoker".

public JPopupMenu(String![]()
![]()
label)
JPopupMenu with the specified title.
label - the string that a UI may use to display as a title
for the popup menu.| Method Detail |
|---|

public static void setDefaultLightWeightPopupEnabled(boolean aFlag)
lightWeightPopupEnabled
property.
aFlag - true if popups can be lightweight,
otherwise falsegetDefaultLightWeightPopupEnabled()
,
setLightWeightPopupEnabled(boolean)


public static boolean getDefaultLightWeightPopupEnabled()
defaultLightWeightPopupEnabled property,
which by default is true.
defaultLightWeightPopupEnabled
propertysetDefaultLightWeightPopupEnabled(boolean)


public PopupMenuUI![]()
![]()
getUI()
PopupMenuUI object that renders this component

public void setUI(PopupMenuUI![]()
![]()
ui)
ui - the new PopupMenuUI L&F objectUIDefaults.getUI(javax.swing.JComponent)


public void updateUI()
updateUI

in class JComponent

JComponent.updateUI()


public String![]()
![]()
getUIClassID()
getUIClassID

in class JComponent

JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)


protected void processFocusEvent(FocusEvent![]()
![]()
evt)
Component

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:
FocusListener object is registered
via addFocusListener.
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.
processFocusEvent

in class Component

evt - the focus eventFocusEvent
,
FocusListener
,
KeyboardFocusManager
,
Component.addFocusListener(java.awt.event.FocusListener)
,
Component.enableEvents(long)
,
Component.dispatchEvent(java.awt.AWTEvent)


protected void processKeyEvent(KeyEvent![]()
![]()
evt)
processKeyEvent

in class JComponent

evt - the key event to be processedKeyEvent
,
KeyListener
,
KeyboardFocusManager
,
DefaultKeyboardFocusManager
,
Component.processEvent(java.awt.AWTEvent)
,
Component.dispatchEvent(java.awt.AWTEvent)
,
Component.addKeyListener(java.awt.event.KeyListener)
,
Component.enableEvents(long)
,
Component.isShowing()


public SingleSelectionModel![]()
![]()
getSelectionModel()
selectionModel propertySingleSelectionModel


public void setSelectionModel(SingleSelectionModel![]()
![]()
model)
model - the new SingleSelectionModelSingleSelectionModel


public JMenuItem![]()
![]()
add(JMenuItem
![]()
![]()
menuItem)
menuItem - the JMenuItem to add
JMenuItem added

public JMenuItem![]()
![]()
add(String
![]()
![]()
s)
s - the string for the menu item to be added

public JMenuItem![]()
![]()
add(Action
![]()
![]()
a)
Action object.
As of JDK 1.3, this is no longer the preferred method for adding
Actions to
a container. Instead it is recommended to configure a control with
an action using setAction, and then add that control
directly to the Container.
a - the Action to add to the menu
Action


protected JMenuItem![]()
![]()
createActionComponent(Action
![]()
![]()
a)
JMenuItem for
Actions added to the JPopupMenu.
As of JDK 1.3, this is no
longer the preferred method, instead it is recommended to configure
a control with an action using setAction,
and then adding that
control directly to the Container.
a - the Action for the menu item to be added
Action


protected PropertyChangeListener![]()
![]()
createActionChangeListener(JMenuItem
![]()
![]()
b)
PropertyChangeListener
which updates the control as changes to the Action occur.
As of JDK 1.3, this is no longer the preferred method for adding
Actions to
a container. Instead it is recommended to configure a control with
an action using setAction, and then add that control
directly to the Container.

public void remove(int pos)
remove

in class Container

pos - the position of the item to be removed
IllegalArgumentException

- if the value of
pos < 0, or if the value of
pos is greater than the
number of itemsContainer.add(java.awt.Component)


public void setLightWeightPopupEnabled(boolean aFlag)
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.
aFlag - false to disable lightweight popupsisLightWeightPopupEnabled()


public boolean isLightWeightPopupEnabled()
lightWeightPopupEnabled property.
lightWeightPopupEnabled propertysetLightWeightPopupEnabled(boolean)


public String![]()
![]()
getLabel()
setLabel(java.lang.String)


public void setLabel(String![]()
![]()
label)
label - a string specifying the label for the popup menusetLabel(java.lang.String)


public void addSeparator()

public void insert(Action![]()
![]()
a, int index)
Action object at
a given position.
a - the Action object to insertindex - specifies the position at which to insert the
Action, where 0 is the first
IllegalArgumentException

- if index < 0Action


public void insert(Component![]()
![]()
component, int index)
component - the Component to insertindex - specifies the position at which
to insert the component, where 0 is the first
IllegalArgumentException

- if index < 0

public void addPopupMenuListener(PopupMenuListener![]()
![]()
l)
PopupMenu listener.
l - the PopupMenuListener to add

public void removePopupMenuListener(PopupMenuListener![]()
![]()
l)
PopupMenu listener.
l - the PopupMenuListener to remove

public PopupMenuListener![]()
![]()
[] getPopupMenuListeners()
PopupMenuListeners added
to this JMenuItem with addPopupMenuListener().
PopupMenuListeners added or an empty
array if no listeners have been added

public void addMenuKeyListener(MenuKeyListener![]()
![]()
l)
MenuKeyListener to the popup menu.
l - the MenuKeyListener to be added

public void removeMenuKeyListener(MenuKeyListener![]()
![]()
l)
MenuKeyListener from the popup menu.
l - the MenuKeyListener to be removed

public MenuKeyListener![]()
![]()
[] getMenuKeyListeners()
MenuKeyListeners added
to this JPopupMenu with addMenuKeyListener().
MenuKeyListeners added or an empty
array if no listeners have been added

protected void firePopupMenuWillBecomeVisible()
PopupMenuListeners that this popup menu will
become visible.

protected void firePopupMenuWillBecomeInvisible()
PopupMenuListeners that this popup menu will
become invisible.

protected void firePopupMenuCanceled()
PopupMenuListeners that this popup menu is
cancelled.

public void pack()

public void setVisible(boolean b)
setVisible

in class JComponent

b - true to make the popup visible, or false to
hide itComponent.isVisible()


public boolean isVisible()
isVisible

in class Component

true if the component is visible,
false otherwiseComponent.setVisible(boolean)


public void setLocation(int x,
int y)
setLocation

in class Component

x - the x coordinate of the popup's new position
in the screen's coordinate spacey - the y coordinate of the popup's new position
in the screen's coordinate spaceComponent.getLocation()
,
Component.setBounds(int, int, int, int)


public Component![]()
![]()
getInvoker()
Component in which the popup menu is displayed

public void setInvoker(Component![]()
![]()
invoker)
invoker - the Component in which the popup
menu is displayed

public void show(Component![]()
![]()
invoker, int x, int y)
invoker - the component in whose space the popup menu is to appearx - the x coordinate in invoker's coordinate space at which
the popup menu is to be displayedy - the y coordinate in invoker's coordinate space at which
the popup menu is to be displayed

@Deprecated public Component![]()
![]()
getComponentAtIndex(int i)
getComponent(int i)
i - the index of the component, where 0 is the first
Component at that index

public int getComponentIndex(Component![]()
![]()
c)
c - the Component to find

public void setPopupSize(Dimension![]()
![]()
d)
Dimension object.
This is equivalent to setPreferredSize(d).
d - the Dimension specifying the new size
of this component.

public void setPopupSize(int width,
int height)
setPreferredSize(new Dimension(width, height)).
width - the new width of the Popup in pixelsheight - the new height of the Popup in pixels

public void setSelected(Component![]()
![]()
sel)
sel - the Component to select

public boolean isBorderPainted()
setBorderPainted(boolean)


public void setBorderPainted(boolean b)
b - if true, the border is painted.isBorderPainted()


protected void paintBorder(Graphics![]()
![]()
g)
borderPainted
property is true.
paintBorder

in class JComponent

g - the Graphics objectJComponent.paint(java.awt.Graphics)
,
JComponent.setBorder(javax.swing.border.Border)


public Insets![]()
![]()
getMargin()
Insets object containing the margin values.

protected String![]()
![]()
paramString()
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.
paramString

in class JComponent

JPopupMenu.

public AccessibleContext![]()
![]()
getAccessibleContext()
getAccessibleContext

in interface Accessible

getAccessibleContext

in class JComponent


public void processMouseEvent(MouseEvent![]()
![]()
event, MenuElement
![]()
![]()
[] path, MenuSelectionManager
![]()
![]()
manager)
MenuElement interface, but it not implemented.
processMouseEvent

in interface MenuElement

MenuElement.processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)


public void processKeyEvent(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 KeyEventpath - the MenuElement path arraymanager - the MenuSelectionManager

public void menuSelectionChanged(boolean isIncluded)
javax.swing.MenuElement interface.
Overrides MenuElement.menuSelectionChanged.
menuSelectionChanged

in interface MenuElement

isIncluded - true if this menu is active, false if
it is notMenuElement.menuSelectionChanged(boolean)


public MenuElement![]()
![]()
[] getSubElements()
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.
getSubElements

in interface MenuElement

MenuElement objectsMenuElement.getSubElements()


public Component![]()
![]()
getComponent()
JPopupMenu component.
getComponent

in interface MenuElement

JPopupMenu objectMenuElement.getComponent()


public boolean isPopupTrigger(MouseEvent![]()
![]()
e)
MouseEvent is considered a popup trigger
by the JPopupMenu's currently installed UI.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||