Java Swing PopupMenuListener handle popup menu event

Description

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);
   }
}



PreviousNext

Related