我有一個涉及Java和Swing的半理論問題。 Swing組件包含兩個選項來響應用戶:setAction
和addActionListener
。這些分別屬於Action
和ActionListener
對象。我應該在Swing中使用setAction或addActionListener嗎?
我的問題是:我應該用哪種方法,setAction
或addActionListener
?它們又有什麼不同?
我有一個涉及Java和Swing的半理論問題。 Swing組件包含兩個選項來響應用戶:setAction
和addActionListener
。這些分別屬於Action
和ActionListener
對象。我應該在Swing中使用setAction或addActionListener嗎?
我的問題是:我應該用哪種方法,setAction
或addActionListener
?它們又有什麼不同?
個人的偏好是儘可能使用Action
(這樣做並不總是有意義的)。主要原因有:
actionPerformed
方法結束。 Action
包含對特定類的特定操作。Action
,使設置更容易和更快,更不用說一致;)恕我直言
謝謝,接受,因爲它提供了一點動機(而不僅僅是文檔)。 – sdasdadas
根據http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html
An Action object is an action listener that provides not only action-event handling, but also centralized handling of the state of action-event-firing components such as tool bar buttons, menu items, common buttons, and text fields. The state that an action can handle includes text, icon, mnemonic, enabled, and selected status.
縱觀鏈接文檔和this answer,似乎一個理由使用Actions
可能會嘗試使用相同的動作上幾個對象
@lifus謝謝,關閉。編輯:這實際上不是重複的。基於2票存在的事實,請不要投票結束。 – sdasdadas
'setAction(action)'也將在內部調用'addActionListener(action)' – DannyMo
@lifus該鏈接與JSF相關... – Reimeus