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