java我可以从其他类方法执行ActionListener方法actionPerformed吗?
我有
ActionListener actionListenerRing = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
在我的类构造函数中定义。如何从main
方法调用actionPerformed
方法
我只是想知道我是否可以从类的任何其他部分直接调用action listener,或者我应该将action listener的代码移动到其他方法,以便ActioListener和其他类方法都可以访问强>
# 1 楼答案
使
actionListenerRing
成为static
(类)变量(假设main
在同一个类中)而不是本地到构造函数,那么它将可以从main
访问,并且您可以将actionPerformed
方法调用为actionListenerRing.actionPerformed
但我认为手动调用该方法不是一个好主意
# 2 楼答案
通常,如果不将侦听器附加到某个对象,就不会创建侦听器。因此,如果您的
main
方法必须直接调用这样的ActionListener
,那么您的设计可能有问题。也许你可以评论一下你想要达到的目标您可能希望读取whole observer design pattern,但简而言之,如果希望在另一个对象执行操作时得到通知,您可以将侦听器添加到另一个对象。例如:
在上面的示例中,当按下按钮时,它将通知我添加的
ActionListener
,我可以通过在actionPerformed
方法中放置相关代码来对此作出反应。但我不会亲自给我的听众打电话