繁体   English   中英

菜单项的 MenuListener 或 ActionListener

[英]MenuListener or ActionListener for menu item

这是我的代码:

menuBar = new JMenuBar();
file = new JMenu("File");
options = new JMenu("Options");
help = new JMenu("Help");
editOptions = new JMenu("Change settings...");
close = new JMenu("Exit");

close.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e) {
           System.exit(1);
      }
});

但是,这不起作用。 我也试过使用这样的 menuListener :

menuBar = new JMenuBar();
file = new JMenu("File");
options = new JMenu("Options");
help = new JMenu("Help");
editOptions = new JMenu("Change settings...");
close = new JMenu("Exit");

close.addMenuListener(new MenuListener() {
      @Override
      public void menuSelected(MenuEvent arg0) {
            System.exit(1);
      }

      @Override
      public void menuDeselected(MenuEvent arg0) {
      }

      @Override
      public void menuCanceled(MenuEvent arg0) {
      }

});

但是,只要突出显示菜单“退出”就退出了。 我需要它在点击时退出。 有任何想法吗?

您的 ActionListener 不起作用,因为JMenu 忽略 ActionEvent

如果您希望程序在单击关闭按钮时退出,请使用 MouseListener:

    close.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            System.exit(1);
        }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM