java - 获取 ArrayList 中的下一个值(不工作)

标签 java swing arraylist

每次用户按下按钮(使用 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 和一个 ArrayList 的 getter。 Student s 是 Student 类的对象,其中每个学生都有名字、姓氏和地址(在构造函数中初始化)。

当执行此 if 语句时,它会在指定字段中显示学生信息,但是,这仅适用于前两名学生。在那之后,i 值似乎永远不会增加?

我试图在 if 语句中放置一个 println 检查以查看它的值,但奇怪的是它只更改一次。

我也试着把它变成一个 for 循环,但是这个值似乎又只改变了一次(我的)。

Parse 有我正在使用的这个 getter 方法

public ArrayList<Student> getMacList() {
        return mac;
}

CBUniversities 本身也是一个变量:

private javax.swing.JComboBox CBUniversities;

我不确定这里出了什么问题,有什么想法吗?

最佳答案

您在方法范围内声明了 i,因此每次您的方法执行时它都会重新初始化 i

相反,通过将 private int i = 0; 放在方法之外但仍在类范围内来声明实例变量。

关于java - 获取 ArrayList 中的下一个值(不工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33880333/

相关文章:

java - JdbcTemplate查询中的多个变量

java - 使用按钮打开谷歌地图到当前位置

javascript - 错误:xwalk_autofill_client.cc(121) 未在虚拟无效 xwalk::XWalkAutofillClient::OnFirstUserGestureObserved() 中实现

java - 直接访问对象属性 thymeleaf

Java GUI 对象的动态重新定位

java - 从类中删除 ActionListener

java - 我如何创建 Java 中测试执行的结果/报告

java - ArrayList<对象> 到 ArrayList<字符串>

添加对象时 Java ArrayList 大小变得巨大

java - 使用 arrayList 对行进行排序