Following is the declaration for javax.swing.JPopupMenu class
public class JPopupMenu extends JComponent implements Accessible, MenuElement
# Constructors
JPopupMenu() | Constructs a JPopupMenu without an “invoker”. |
JPopupMenu(String label) | Constructs a JPopupMenu with the specified title. |
# Methods
JMenuItem add(Action a) | Appends a new menu item to the end of the menu which dispatches the specified Action object. |
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 MenuKeyListener to the popup menu. |
void addPopupMenuListener(PopupMenuListener l) | Adds a PopupMenu listener. |
void addSeparator() | Appends a new separator at the end of the menu. |
protected PropertyChangeListener createActionChangeListener(JMenuItem b) | Returns a properly configured PropertyChangeListener which updates the control as changes to the Action occur. |
protected JMenuItem createActionComponent(Action a) | Factory method which creates the JMenuItem for Actions added to the JPopupMenu. |
protected void firePopupMenuCanceled() | Notifies PopupMenuListeners that this popup menu is canceled. |
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(int i) | Deprecated. Replaced by Container.getComponent(int) |
int getComponentIndex(Component c) | 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 containers. |
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(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() | Gets the lightWeightPopupEnabled property. |
boolean isPopupTrigger(MouseEvent e) | 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(boolean isIncluded) | Message 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 borderPainted property is true. |
protected String paramString() | Returns a string representation of this JPopupMenu. |
protected void processFocusEvent(FocusEvent evt) | Processes focus events occurring on this component by dispatching them to any registered FocusListener objects. |
protected void processKeyEvent(KeyEvent evt) | Processes keystroke events such as mnemonics and accelerators. |
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. |
void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager) | This method is required to conform to the MenuElement interface, but it not implemented. |
void remove(int pos) | Removes the component at the specified index from this popup menu. |
void removeMenuKeyListener(MenuKeyListener l) | Removes a MenuKeyListener from the popup menu. |
void removePopupMenuListener(PopupMenuListener l) | Removes a PopupMenu listener. |
void setBorderPainted(boolean b) | Sets whether the border should be painted. |
static void setDefaultLightWeightPopupEnabled(boolean aFlag) | Sets the default value of the lightWeightPopupEnabled property. |
void setInvoker(Component invoker) | Sets the invoker of this popup menu the component in which the popup menu is to be displayed. |
void setLabel(String label) | Sets the popup menu’s label. |
void setLightWeightPopupEnabled(boolean aFlag) | Sets the value of the lightWeightPopupEnabled property, which by default is true. |
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 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 in 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
- javax.swing.JComponent
- java.awt.Container
- java.awt.Component
- java.lang.Object
# JPopupMenu Example
SwingMenuDemo.java
import java.awt.*; import java.awt.event.*; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; public class SwingJpopupMenu{ private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingJpopupMenu(){ prepareGUI(); } public static void main(String[] args){ SwingJpopupMenu swingMenuDemo = new SwingJpopupMenu(); swingMenuDemo.showPopupMenuDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java SWING Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); headerLabel = new JLabel("",JLabel.CENTER ); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showPopupMenuDemo(){ final JPopupMenu editMenu = new JPopupMenu("Edit"); JMenuItem cutMenuItem = new JMenuItem("Cut"); cutMenuItem.setActionCommand("Cut"); JMenuItem copyMenuItem = new JMenuItem("Copy"); copyMenuItem.setActionCommand("Copy"); JMenuItem pasteMenuItem = new JMenuItem("Paste"); pasteMenuItem.setActionCommand("Paste"); MenuItemListener menuItemListener = new MenuItemListener(); cutMenuItem.addActionListener(menuItemListener); copyMenuItem.addActionListener(menuItemListener); pasteMenuItem.addActionListener(menuItemListener); editMenu.add(cutMenuItem); editMenu.add(copyMenuItem); editMenu.add(pasteMenuItem); mainFrame.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { editMenu.show(mainFrame, e.getX(), e.getY()); } }); mainFrame.add(editMenu); mainFrame.setVisible(true); } class MenuItemListener implements ActionListener { public void actionPerformed(ActionEvent e) { statusLabel.setText(e.getActionCommand() + " MenuItem clicked."); } } }