我自己,我總是使用ActionListener
作爲swing事件處理程序(例如按鈕單擊),它是我在大多數swing應用程序中看到的最常見的listener。有什麼更好的使用:Action vs ActionListener?
但是,某些Swing專業人士在這裏通常建議使用Action
而不是ActionListener
。我從中得到什麼好處?
我自己,我總是使用ActionListener
作爲swing事件處理程序(例如按鈕單擊),它是我在大多數swing應用程序中看到的最常見的listener。有什麼更好的使用:Action vs ActionListener?
但是,某些Swing專業人士在這裏通常建議使用Action
而不是ActionListener
。我從中得到什麼好處?
如果您需要跨組件共享功能,則首選Action
。從docs
如果您有兩個或多個執行相同功能的組件,請考慮使用Action對象來實現該功能。
也說
操作對象是操作偵聽程序,它不僅提供操作事件處理,還提供操作事件觸發組件的狀態的集中處理,如工具欄按鈕,菜單項,常用按鈕和文本字段。動作可以處理的狀態包括文本,圖標,助記符,啓用和選定狀態。
「行動」+1; ['FileMenu'](http://stackoverflow.com/a/4039359/230513)是一個基本的例子。做這件事的好處是不需要做後者。 :-) – trashgod 2013-02-24 13:40:08
創建單個動作偵聽器,並通過'addActionListener()'將多個swing組件添加到同一個引用?這不是一回事嗎? – 2013-02-24 13:40:24
@ Eng.Fouad:動作還有其他附加好東西,包括能夠保存圖標,助記鍵,描述以及保存任何值鍵的功能。 – 2013-02-24 13:43:46
動作可以通過可共享,可阻止,可設置。 – mKorbel 2013-02-24 14:24:23