8

我自己,我总是使用ActionListenerswing 事件处理程序(例如按钮单击),它是我在大多数swing 应用程序中看到的最常见的侦听器。

但是,stackoverflow 中的一些 Swing 专业人士经常建议使用Action而不是ActionListener. 我这样做有什么好处?

4

1 回答 1

10

Action如果您需要跨组件共享功能,则首选An 。从文档

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

但也说

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

于 2013-02-24T13:38:11.657 回答