【发布时间】:2016-02-26 02:35:06
【问题描述】:
每次用户按下按钮(使用 Swing)时,我都会尝试获取特定数组列表中的下一个值。
这是我的尝试:
private void BNextActionPerformed(java.awt.event.ActionEvent evt) {
int i = 0;
Parse p = new Parse();
temp = p.getTemp();
temp2 = p.getTemp2();
temp3 = p.getTemp3();
if (CBUniversities.getSelectedIndex() == 0) {
LNumStudents.setText("Number of students: " + temp);
Student s = p.getMacList().get(i+1);
jTextField2.setText(s.getFirstName());
TLastName.setText(s.getSurName());
jTextArea1.setText(s.getAddress());
i++;
}
}
其中 Parse 是一个类,包含 3 个整数的 getter 方法temp,temp2,temp3, and a getter for an ArrayList.
Student s 是 Student 类的一个对象,其中每个学生都有一个名字、姓氏和地址(在构造函数中初始化)。
执行此 if 语句时,它会在指定字段中显示学生信息,但是,这只适用于前两个学生。在那之后,i 的值似乎永远不会增加?
我试图在 if 语句期间放置一个println 检查以查看它的值,但它只更改一次,这很奇怪。
我也试图把它变成一个 for 循环,但这个值似乎只改变了一次(i)。
Parse 有我正在使用的这个 getter 方法
public ArrayList<Student> getMacList() {
return mac;
}
CBUniversities 也是一个变量:
private javax.swing.JComboBox CBUniversities;
我不确定这里出了什么问题,有什么想法吗?
【问题讨论】:
-
int i似乎在错误的范围内。尝试将其移至班级级别。