1

我必须使用ActionListenerorAbstractAction吗?

根据答案编辑

那么,最好的方法是最好的方法吗?

Action closeaction = new AbstractAction("Afsluiten"){

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

    };
    menuItem = new JMenuItem(closeaction);
4

1 回答 1

2

正如@kleopatra 评论的那样,Action它是首选的抽象,并且AbstractAction是正确的基类。在您的处理程序中,非零状态表示错误情况。作为替代方案,请考虑发送一个事件,如此WINDOW_CLOSING所示。JDialog

附录:WINDOW_CLOSING如果您的应用程序需要在终止之前采取一些行动,该事件很方便。WindowListener示例中添加a ,看看效果:

this.addWindowListener(new WindowAdapter() {

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println(e);
    }
});
于 2012-03-23T14:58:21.937 回答