2

所以,我已经为 JMenu 组件实现了匿名动作侦听器,所以我想知道 JMenu 是否可以在没有 JMenuItems 的情况下执行一些动作,例如只是 JMenu……退出?

@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

1 回答 1

6

使用 aMenuListener而不是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 忽略 ActionEvent

于 2013-05-21T22:37:57.220 回答