我自己,我总是使用ActionListener
作为摇摆事件处理程序(例如按钮单击),这是我在大多数摇摆应用程序中看到的最常见的监听器。
但是,stackoverflow中的一些Swing专业人员经常建议使用Action
而不是ActionListener
。这样做会带来什么好处?
答案 0 :(得分:10)
如果您需要跨组件共享功能,则首选Action
。来自docs
如果您有两个或多个执行相同功能的组件,请考虑使用Action对象来实现该功能。
但也说
Action对象是一个动作侦听器,它不仅提供动作事件处理,还集中处理动作状态 - 事件触发组件,如工具栏按钮,菜单项,常用按钮和文本字段。操作可以处理的状态包括文本,图标,助记符,已启用和已选择状态。