AbstractAction as WindowListener

时间:2012-05-08 01:37:45

标签: java swing user-interface action windowlistener

我正在尝试通过使用Action对象将我的GUI应用程序中的函数与状态分开。我已经成功地使用它们来创建具有相同功能的菜单项和按钮。

我的问题是:我希望菜单中的“退出”项目和框架的关闭按钮具有相同的操作。

目前我已经能够通过在框架中添加以下WindowListener来解决它:

private class MainWindowListener extends WindowAdapter {
    @Override
    public void windowClosing(WindowEvent e) {
        new ExitAction(model).actionPerformed(new ActionEvent(e.getSource(), e.getID(), "Exit"));
    }
}

有没有更简单直接的方法来做到这一点?

1 个答案:

答案 0 :(得分:6)

转发活动非常方便,但您也可以使用dispatchEvent(),如图here所示。

附录:使用Action的更多示例如下所示。