1

またはを使用する必要がありますActionListenerAbstractAction?

回答に基づいて編集

それで、これが最善の方法ですか?

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 に答える