将项添加到jList

时间:2012-10-24 04:23:30

标签: java jlist

我在互联网上搜索过,并尝试了很多不同的解决方案,但每一个都导致了一个不同的问题。这是代码:

String path = "path usually goes here"; 
File folder = new File(path);
File[] listOfFiles = folder.listFiles();

for (;this.filen < listOfFiles.length; filen++) {
    File lof = new File("path and stuff/Assignment" + filen + ".txt");

    try {
        BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(
                    new FileInputStream(lof)));
                    String sCurrentLine;
                    while ((sCurrentLine = bufferedReader.readLine()) != null) {
                            int dDate = Integer.parseInt(sCurrentLine);
                            DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
                            Date date = new Date();
                            int iDate = Integer.parseInt(dateFormat.format(date));
                            if (dDate < iDate) {
                                sCurrentLine = bufferedReader.readLine();
                                DefaultListModel listModel = new DefaultListModel();
                                listModel.addElement(sCurrentLine);
                            }
                            else {
                                sCurrentLine = bufferedReader.readLine();
                            }


                            bufferedReader.close();
        }
    } catch (FileNotFoundException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
 }

我很新,但我要做的是让它从文本文件中的一行读取数据,然后根据它是否在日期排序之前或之后排序,但我不知道如果这是问题,因为它只是不会写入jList。

提前致谢

1 个答案:

答案 0 :(得分:2)

您是否尝试在listModel保存数据?如果是这样,那么您应该在开始循环之前尝试声明并初始化listModel。然后,在循环内部,您只需将数据添加到已创建的listModel

if (dDate < iDate) {
    sCurrentLine = bufferedReader.readLine();
    DefaultListModel listModel = new DefaultListModel();
    listModel.addElement(sCurrentLine);
}

由于DefaultListModel listModel = new DefaultListModel();,您在循环的每个实例中都创建了一个新的listModel。

相关问题