我有一个涉及Java和Swing的半理论问题。 Swing组件包含两个响应用户的选项:setAction
和addActionListener
。它们分别属于Action
和ActionListener
个对象。
我的问题是:我应该使用哪种方法setAction
或addActionListener
?它们如何彼此不同?
答案 0 :(得分:3)
个人偏好是尽可能使用Action
(这样做并不总是有意义的)。主要原因是:
actionPerformed
方法,该方法是多行if-else语句的100行。 Action
包含特定类的特定操作。 Action
自包含的,使设置更容易,更快捷,更不用说一致;)IMHO
答案 1 :(得分:2)
根据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
的一个原因可能是尝试在多个对象上使用相同的操作