我是否必须使用ActionListener
或AbstractAction
?
基于答案编辑
那么,这是最好的方法吗?
Action closeaction = new AbstractAction("Afsluiten"){
@Override
public void actionPerformed(ActionEvent ae) {
System.exit(1);
}
};
menuItem = new JMenuItem(closeaction);
答案 0 :(得分:2)
作为@kleopatra的评论,Action
是首选的抽象,AbstractAction
是正确的基类。在处理程序中,非零状态表示错误情况。作为替代方案,请考虑发送WINDOW_CLOSING
事件,如JDialog
所示here。
附录:如果您的应用程序需要在终止之前采取某些操作,WINDOW_CLOSING
事件很方便。将WindowListener
添加到example以查看效果:
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.out.println(e);
}
});