0

我正在构建一个 Java GUI,它要求用户输入他的用户 ID,如果我在我的文本文件列表中找到匹配项,那么我将他的信息显示到 GUI 面板。如果找不到他的 id,那么我会显示一个提示,要求他再次输入他的 id。

我现在的程序是,每次输入错误的 id 后,即使我输入的下一个 id 是正确的,我也无法在屏幕上显示正确的信息。我的 GUI 永远停留在那个“错误的 id”状态。我花了几个小时试图找出问题所在,但我就是找不到。任何帮助,将不胜感激!

图形用户界面截图

  private class okButtonListener implements ActionListener{
      public void actionPerformed(ActionEvent e){
          FileReader fr = null;
            try{
                fr = new FileReader("charList.txt");
            }
            catch (FileNotFoundException e1){
                e1.printStackTrace();
            }
            BufferedReader bf = new BufferedReader(fr);

            userID = Integer.parseInt(idField.getText());

            while(line != null){
                try{
                    line = bf.readLine();
                }
                catch (IOException e1){
                    e1.printStackTrace();
                }
                if (line != null){
                    fields = line.split("\t");
                    if (userID == Integer.parseInt(fields[0])){
                        System.out.println(fields[2]);
                        displayFieldsSelections();
                        resetFields();
                        break;
                    }
                }
            }

            if (userID != Integer.parseInt(fields[0])){
                mistakeResetFields();   
            }
      }
  }
4

1 回答 1

1

我认为问题在于您没有在line本地声明。在方法的开头尝试声明line.

于 2013-11-09T17:58:34.907 回答