2013-05-21 3 views
1

Итак, я применил анонимный прослушиватель действий к компоненту JMenu, поэтому мне интересно, может ли JMenu совершить какое-либо действие с помощью JMenuItems в нем, например JMenu. . Выход?Java JMenu actionPerformed не работает

@Override 
    public void menuBarItemExit(JMenuBar menubar) { 
     exitMenuItem = new JMenu("Exit"); 
     exitMenuItem.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       System.exit(0); 
      } 
     }); 
     menubar.add(exitMenuItem); 
    } 

ответ

4

Используйте MenuListener вместо ActionListener:

exitMenuItem.addMenuListener(new MenuListener() { 
    @Override 
    public void menuSelected(MenuEvent e) { 
     System.exit(0); 
    } 

    @Override 
    public void menuDeselected(MenuEvent e) { 
    } 

    @Override 
    public void menuCanceled(MenuEvent e) { 
    } 
}); 

От Oracle: JMenu ignores ActionEvent

Смежные вопросы