Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ActionListener是委托模式的一个示例吗?_Java_Design Patterns_Awt_Actionlistener - Fatal编程技术网

Java 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

在大学时代,我从未意识到JavaAPI中有什么模式。 现在在工作中,我遇到了iOS上Objective C n Cocoa中的委托模式,其中一个屏幕将自己设置为即将到来的屏幕上的委托,以便该屏幕可以将一些消息传递给该委托,并在返回到上一个屏幕时采取一些行动

我意识到,我曾经做过类似的事情,当我使用ActionListener[通过实现接口]将“this”作为ActionListener传递给JButton时,它会自动调用我在这个类中实现的actionPerformed,因此我可以更改JFrame类中的任何实例数据

如果我是正确的,那么ActionListener是委托的一个例子吗


编辑:正如下面正确提到的,这是观察者模式。我们不设置ActionListener,而是添加一个。因此,该操作可能有许多侦听器。

ActionListener
就是一个示例。您在一个组件上注册观察者(或监听器),该组件在特定事件发生时被调用。

没错。在我删除我的帖子之前,我提到了它的命令模式。事实并非如此。Action是,但不是ActionListener。我的JButton有addActionListener方法。你的羞愧是有限的。@Amogh:我不知道你在找什么
JButton
扩展了
AbstractButton
,它有一个
addActionListener
方法:对不起,我的错误。我记错了。这确实是观察者模式。@MeBigFatGuy:实际上我的JButtons也有这个方法。我真丢脸。。我忘了:P!