7
我想通過使用Action對象將函數從我的GUI應用程序中的狀態中分離出來。我已經成功地使用它們來創建具有相同功能的菜單項和按鈕。AbstractAction作爲WindowListener
我的問題是這樣的:我想爲我的菜單中的「退出」項和框架的關閉按鈕具有相同的操作。
目前我已經能夠通過將以下的WindowListener的框架來解決它:
private class MainWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
new ExitAction(model).actionPerformed(new ActionEvent(e.getSource(), e.getID(), "Exit"));
}
}
是不是有一個更簡單更直接的方式來做到這一點?
相關的方法是調用按鈕的'doClick()'方法,如[這裏](http://stackoverflow.com/a/5797965/230513)所示。 – trashgod
這個東西對我來說是新東西,而且非常有趣:-) –
所以,如果我正確地理解了它,使用dispatchEvent()與我正在做的相反:將代碼保存在WindowListener中而不是在動作,並讓動作在那裏發送一個事件,而不是讓windowListener把它的事件轉發給動作?有趣... – FinalArt2005