如何添加关闭Java程序的JMenuItem?

如何添加关闭Java程序的JMenuItem?,java,swing,awt,actionlistener,jmenuitem,Java,Swing,Awt,Actionlistener,Jmenuitem,我是否必须使用ActionListener或AbstractAction 根据答案编辑 那么,这是最好的方法吗 Action closeaction = new AbstractAction("Afsluiten"){ @Override public void actionPerformed(ActionEvent ae) { System.exit(1); } }; menuItem = new JM

我是否必须使用
ActionListener
AbstractAction

根据答案编辑

那么,这是最好的方法吗

Action closeaction = new AbstractAction("Afsluiten"){

        @Override
        public void actionPerformed(ActionEvent ae) {
            System.exit(1);
        }

    };
    menuItem = new JMenuItem(closeaction);
正如@kleopatra注释所示,是首选的抽象,
AbstractAction
是正确的基类。在处理程序中,非零状态表示错误条件。作为另一种选择,考虑发送<代码> Windows WORD关闭<代码>事件,如<代码> jCalue 附录:
窗口关闭
事件非常方便,如果您的应用程序在终止之前需要采取一些操作。将
WindowListener
添加到以查看效果:

this.addWindowListener(new WindowAdapter() {

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println(e);
    }
});

“我必须……”必须吗?对于常用的方法来说,这是一个奇怪的短语。一般的规则是总是追求可用的最高抽象。在这里,这条规则转化为始终使用动作。(所以你的评论显然是否定的,@SirTroll:-)@kleopatra,那么这是最好的方式吗?是别人干的。这是正确的方法吗?@AndrewThompson不,不是你:-)那么,系统退出(1)不是好方法?我必须使用WindowEvent.WINDOW\u CLOSING?嗯,使用
System.exit(0)
进行正常终止;这太突然了。以上。