Java ActionListener是委托模式的一个示例吗?
在大学时代,我从未意识到JavaAPI中有什么模式。 现在在工作中,我遇到了iOS上Objective C n Cocoa中的委托模式,其中一个屏幕将自己设置为即将到来的屏幕上的委托,以便该屏幕可以将一些消息传递给该委托,并在返回到上一个屏幕时采取一些行动 我意识到,我曾经做过类似的事情,当我使用ActionListener[通过实现接口]将“this”作为ActionListener传递给JButton时,它会自动调用我在这个类中实现的actionPerformed,因此我可以更改JFrame类中的任何实例数据 如果我是正确的,那么ActionListener是委托的一个例子吗Java ActionListener是委托模式的一个示例吗?,java,design-patterns,awt,actionlistener,Java,Design Patterns,Awt,Actionlistener,在大学时代,我从未意识到JavaAPI中有什么模式。 现在在工作中,我遇到了iOS上Objective C n Cocoa中的委托模式,其中一个屏幕将自己设置为即将到来的屏幕上的委托,以便该屏幕可以将一些消息传递给该委托,并在返回到上一个屏幕时采取一些行动 我意识到,我曾经做过类似的事情,当我使用ActionListener[通过实现接口]将“this”作为ActionListener传递给JButton时,它会自动调用我在这个类中实现的actionPerformed,因此我可以更改JFrame
编辑:正如下面正确提到的,这是观察者模式。我们不设置ActionListener,而是添加一个。因此,该操作可能有许多侦听器。
ActionListener
就是一个示例。您在一个组件上注册观察者(或监听器),该组件在特定事件发生时被调用。没错。在我删除我的帖子之前,我提到了它的命令模式。事实并非如此。Action是,但不是ActionListener。我的JButton有addActionListener方法。你的羞愧是有限的。@Amogh:我不知道你在找什么JButton
扩展了AbstractButton
,它有一个addActionListener
方法:对不起,我的错误。我记错了。这确实是观察者模式。@MeBigFatGuy:实际上我的JButtons也有这个方法。我真丢脸。。我忘了:P!