我有一个涉及 Java 和 Swing 的半理论问题。Swing 组件包含两个选项来响应用户:setAction
和addActionListener
. 这些分别与Action
和ActionListener
对象有关。
我的问题是:我应该使用哪种方法setAction
?addActionListener
它们彼此有何不同?
我有一个涉及 Java 和 Swing 的半理论问题。Swing 组件包含两个选项来响应用户:setAction
和addActionListener
. 这些分别与Action
和ActionListener
对象有关。
我的问题是:我应该使用哪种方法setAction
?addActionListener
它们彼此有何不同?
个人偏好是尽可能使用Action
(这样做并不总是有意义)。主要原因是:
actionPerformed
包含多个 if-else 语句的 100 行长的方法。Action
包含对特定类的特定操作 。Action
,使设置更容易和更快,更不用说一致了;)恕我直言
根据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.
查看链接的文档和这个答案,似乎使用的一个原因Actions
可能是尝试在多个对象上使用相同的操作