所以,我已经为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);
}
答案 0 :(得分:5)
使用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