何时使用Action over ActionListener

时间:2013-12-18 19:30:01

标签: java interface action actionlistener

Java API说,

  

“在多个控件可以访问相同功能的情况下,Action接口为ActionListener接口提供了有用的扩展。”

我可以对自定义内部类侦听器执行相同操作。我错过了什么?我确实看到了Action的一些好处(图标,描述,启用状态)。

1 个答案:

答案 0 :(得分:2)

一般来说,在大多数情况下,我更喜欢Action而不是ActionListener

除了提供可以应用于按钮和键绑定的自包含,可重用的概念之外,我发现它可以生成更清晰的代码。

我知道很多人更喜欢使用n个深度actionPeformed语句的内部类或非常大的if-else语句,但对我来说Action提供了一个更容易维护的API和可更新的,

在我不需要显示触发ActionListener事件的对象的情况下,我仍然使用actionPerformed,例如Swing Timer

对于我来说,你想要维护一个自包含工作单元,需要向用户显示和/或想要设计一系列抽象可操作元素,Action是首选方法