将文本文件数据加载到JTextfield

时间:2016-06-03 03:22:49

标签: java swing arraylist jtextfield

为了完成这段代码,我一直在搜索各种教程两天,但是它们都没有帮助我理解我的代码出错的概念。

我正在尝试写入文本文件,然后从中读取到Jtable中。我正在使用数组。我的导师告诉我,我使用了太多的列表 - 所以我试图只使用一个'constructorList',现在它不会编译。

显示的错误是:

error: method readFile in class CQUPestGUI cannot be applied to given types;

        readFile();
required: ArrayList<String>
found: no arguments
reason: actual and formal argument lists differ in length
1 error

任何试图纠正它的行为似乎都会使情况变得更糟。

这是似乎与错误相关的代码部分。

 private void buttonLoadStoredContractsActionPerformed(java.awt.event.ActionEvent evt) {                                                          
        readFile();
}   

我已经跳过了一些部分,以便不提供大量代码来阅读

protected void readFile(ArrayList<String> listContractors)
{
   BufferedReader reader = null;
   //ArrayList showContract = new ArrayList();

   try
   {
       reader = new BufferedReader(new FileReader("Pest.txt"));
       String nLine = reader.readLine();


       while (nLine != null)
       {
           listContractors.add(nLine);
           String [] rows = nLine.split("-");
           for (String s: rows)
           {
                System.out.println(s);
           }
           nLine = reader.readLine();
       }
   }
   catch (FileNotFoundException e)
   {
       e.printStackTrace();
   }
   catch (IOException e)
   {
        e.printStackTrace();
   }
   displayStoredContracts(listContractors);
}

protected void displayStoredContracts(ArrayList<String> listContractors)
{
    for (int i = 0; i < listContractors.size(); i++)
    {
        txtAreaSavedContracts.append((String) listContractors.get(i));


    }
}

如果有任何 希望查看整个代码,那么它位于pastebin中 - full code。我使用的是gui构建器,因为我只是一个初学者并且有最后期限可以满足 - 因此很多这将是混乱的。我只是把它放在想要的地方。

1 个答案:

答案 0 :(得分:1)

很容易找到,您的方法签名表明,方法protected void readFile(ArrayList<String> listContractors)只接受java.util.ArrayList String类型。但是当你调用方法时,你没有传递任何参数,你可以通过readFile();调用方法。您应该已将ArrayList作为方法参数传递。

  1. 创建ArrayList<String> list= new ArrayList<String>();
  2. 添加一些元素:list.add("asd");(根据需要)
  3. 调用方法:readFile(list);
  4. 希望,它会帮助你。

    N.B。我不认为方法readFile的定义是正确的。它不应该将ArrayList<String>作为形式参数。它必须在方法块中创建此ArrayList的实例,并在方法边界内向其添加元素。