我想在每次按下按钮时使用JButton,JTextField和事件的ActionListener遍历列表。因此,每次按下“下一步”按钮时,数组的下一项应显示在JTextField中。我已经创建了getter,setter和构造函数,实际上这只是我遇到的以下问题。

@Override
     public void actionPerformed(ActionEvent evt){
     Object source = evt.getSource();

     String[] item = getThing();

     for(int i = 0; i < 3; i ++){
         String currentI = item[i];
     }
     if(source.equals(btnNxt)){
         txtDisplayField.setText(currentI);
     }
}


在if语句中,我收到一个错误“无法找到符号”,它指向currentI。

最佳答案

您正在currentI循环范围内初始化String for

因此,在for循环外部无法访问该变量。

在循环中移动相等性检查和分配。

for(int i = 0; i < 3; i ++){
    String currentI = item[i];

    if(source.equals(btnNxt)){
        txtDisplayField.setText(currentI);
        // stop iteration as you already found a match
        break;
    }
}

09-27 02:23