什么是更好用:Action vs ActionListener?

时间:2013-02-24 13:32:44

标签: java swing user-interface action actionlistener

我自己,我总是使用ActionListener作为摇摆事件处理程序(例如按钮单击),这是我在大多数摇摆应用程序中看到的最常见的监听器。

但是,stackoverflow中的一些Swing专业人员经常建议使用Action而不是ActionListener。这样做会带来什么好处?

1 个答案:

答案 0 :(得分:10)

如果您需要跨组件共享功能,则首选Action。来自docs

  

如果您有两个或多个执行相同功能的组件,请考虑使用Action对象来实现该功能。

但也说

  

Action对象是一个动作侦听器,它不仅提供动作事件处理,还集中处理动作状态 - 事件触发组件,如工具栏按钮,菜单项,常用按钮和文本字段。操作可以处理的状态包括文本,图标,助记符,已启用和已选择状态。