gpt4 book ai didi

Java ActionListener 类找不到变量。

转载 作者:行者123 更新时间:2023-12-01 19:06:54 25 4
gpt4 key购买 nike

我有三个类,一个主类,一个 GUI 类,它使用 awt+swing 制作一个带有 4 个按钮的基本窗口。

//BEGIN ADD ACTION LISTENERS
handle_events event_handler=new handle_events();
home_b.addActionListener(event_handler);
my_account_b.addActionListener(event_handler);
my_history_b.addActionListener(event_handler);
exit_b.addActionListener(event_handler);
//END ADD ACTION LISTENERS

我的handle_events类看起来像这样:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

class handle_events implements ActionListener
{
public handle_events(){}

public void actionPerformed(ActionEvent e)
{
if(e.getSource==home_b) {do stuff;}
//etc
}


}
//END EVENT HANDLER CLASS

问题是无论我做什么,ActionListener 类都找不到 home_b。感谢您的帮助。

最佳答案

因为handle_events没有引用它。您可以在构造函数中添加对此的引用:

class handle_events implements ActionListener
{
private Object home_b;

public handle_events(Object home_b){
this.home_b = home_b;
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource==home_b) {do stuff;}
//etc
}
}

(用 home_b 应该是什么类型替换 Object ),或者您可以将 handle_events 类转换为您拥有初始化这些操作监听器的代码的类中的嵌套类。

顺便说一句,除非您有充分的理由这样做,否则您应该遵守常见的编码风格,并以大写字母开头声明类名,而不是使用下划线:HandleEvents

关于Java ActionListener 类找不到变量。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com