我正在尝试通过使用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"));
}
}
有没有更简单直接的方法来做到这一点?
答案 0 :(得分:6)
转发活动非常方便,但您也可以使用dispatchEvent()
,如图here所示。
附录:使用Action
的更多示例如下所示。
LinePanel
连接按钮和按键。ScrollAction
利用现有的Swing操作。KeyPadPanel
说明了转发操作。GraphPanel
,显示工具栏中的图表编辑器操作。