我试图通过使用Action对象在我的GUI应用程序中分离功能和状态。我已经成功地使用它们创建了具有相同功能的菜单项和按钮。
我的问题是:我希望菜单中的“退出”项和框架的关闭按钮都有相同的Action。
目前,我已经能够通过在框架中添加以下WindowListener来解决这个问题:
private class MainWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
new ExitAction(model).actionPerformed(new ActionEvent(e.getSource(), e.getID(), "Exit"));
}
}没有更简单、更直截了当的方法吗?
发布于 2012-05-08 09:54:51
转发事件很方便,但您也可以使用here所示的dispatchEvent()。
附录:下面显示了更多使用Action的示例。
连接按钮的
LinePanel和利用现有Swing actions.KeyPadPanel的keys.ScrollAction,它演示了forwarding actions.GraphPanel,它在工具栏中显示图形编辑器操作。https://stackoverflow.com/questions/10491400
复制相似问题