Using MenuListener to listen to: menu canceled, selected and deselected events : MenuListener « Swing Event « Java Tutorial






With a registered MenuListener, you're notified when a JMenu is selected before the pop-up menu is opened with the menu's choices.

public interface MenuListener extends EventListener {
  public void menuCanceled(MenuEvent e);
  public void menuDeselected(MenuEvent e);
  public void menuSelected(MenuEvent e);
}
Using MenuListener to listen to: menu canceled, selected and deselected events
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;

public class ContructMenuWithAction {
  public static void main(final String args[]) {
    JFrame frame = new JFrame("MenuSample Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JMenuBar menuBar = new JMenuBar();

    // File Menu, F - Mnemonic
    JMenu fileMenu = new JMenu("File");
    fileMenu.setMnemonic(KeyEvent.VK_F);
    menuBar.add(fileMenu);

    fileMenu.addMenuListener(new MenuListener() {

      public void menuSelected(MenuEvent e) {
        System.out.println("menuSelected");
      }

      public void menuDeselected(MenuEvent e) {
        System.out.println("menuDeselected");

      }

      public void menuCanceled(MenuEvent e) {
        System.out.println("menuCanceled");

      }
    });

    // File->New, N - Mnemonic
    JMenuItem newMenuItem = new JMenuItem("New");
    fileMenu.add(newMenuItem);

    frame.setJMenuBar(menuBar);
    frame.setSize(350, 250);
    frame.setVisible(true);
  }
}








15.27.MenuListener
15.27.1.Using MenuListener to listen to: menu canceled, selected and deselected eventsUsing MenuListener to listen to: menu canceled, selected and deselected events
15.27.2.Handling a mouse eventHandling a mouse event