我刚开始学习如何使用动作监听器。据我了解,它的工作方式如下:
有一些类默认包含“addActionListener”方法(例如按钮类)。
使用此方法,我们将动作侦听器添加到对象。例如:
listenedObject.addActionListener(listeningObject)
。当执行带有“listenedObject”的动作时,将调用“listeningObject”的“actionPerformed”方法。因此,这意味着当我们为 listenerObject 编写一个类时,我们需要在其中放置“actionPerformed”方法。
我不清楚的是,我们是否应该为我们想要收听的每个对象创建一个新类。在我看来,这不是一个优雅的解决方案。另一方面,如果我们为所有(或至少许多)对象有一个动作侦听器类,那么我们就会遇到问题,因为此类的实例将不知道哪个对象正在调用“actionPerformed”方法(我们需要知道因为 actionPerformed 执行的操作因调用此方法的人员而异)。
在我看来,对于我们需要创建的每个监听对象都是“个人”动作监听器,我们可以通过为动作监听器的相应字段设置特定值来做到这一点。但我不确定这是一种标准的方式吗?人们通常是怎么做的?