我无法弄清楚如何使以下代码正常工作。按下jbutton时,我希望它运行以下代码。我的问题是ArrayList列表位于main中,我不知道如何将它传递给GUI构建器提供给我的这个方法,这样,actionperformed方法将知道列表是什么并返回一个ArrayList主要是用新的变化取而代之。
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Student temp;
Picker pick = new Picker(list);
temp = pick.randomNoReplace(); //replace randomNoReplace() with radio button choice
list.remove(temp); //the next line must be temp.increaseScore() or temp.decreaseScore() or neither
list.add(temp);
}
}
答案 0 :(得分:0)
您正在寻找的是这样的:
class Foo {
private ArrayList<Student> list;
...
这会将列表声明为Student的ArrayList
作为实例变量,以便此类的每个对象都可以从任何实例方法访问list
。请务必在使用之前实例化列表,最好在构造函数中执行以下操作:
list = new ArrayList<Student>();