Java Swing PopupMenuListener handle popup menu event
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; class MyPopupMenuListener implements PopupMenuListener { public void popupMenuCanceled(PopupMenuEvent popupMenuEvent) { System.out.println("Canceled"); }/*from w w w . j av a2 s .co m*/ public void popupMenuWillBecomeInvisible(PopupMenuEvent popupMenuEvent) { System.out.println("Becoming Invisible"); } public void popupMenuWillBecomeVisible(PopupMenuEvent popupMenuEvent) { System.out.println("Becoming Visible"); } } public class Main { public static void main(final String args[]) { JFrame frame = new JFrame(""); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPopupMenu popupMenu = new JPopupMenu("Title"); PopupMenuListener popupMenuListener = new MyPopupMenuListener(); popupMenu.addPopupMenuListener(popupMenuListener); JMenuItem cutMenuItem = new JMenuItem("Cut"); popupMenu.add(cutMenuItem); popupMenu.addSeparator(); JMenuItem copyMenuItem = new JMenuItem("Copy"); popupMenu.add(copyMenuItem); JButton label = new JButton("right click"); frame.add(label); label.setComponentPopupMenu(popupMenu); frame.setSize(350, 250); frame.setVisible(true); } }