如何使用DefaultListModel将数据打印到JList?

时间:2013-12-12 00:37:26

标签: java jlist

我有这三种方法,它们工作正常。我创建了fullInList来将ArrayList中的数据添加到JList中。但我希望Java读取文件,我希望数据显示在JList中。我怎样才能做到这一点?

ArrayList<PersonTest> person = new ArrayList<>();

DefaultListModel<PersonTest> model;
File fileName = new File("testFromClass.txt");
DefaultListModel<PersonTest> model2;


private void fillInList() {

    model = new DefaultListModel<>();

    for (PersonTest temp : person) {
        model.addElement(temp);
    }

    ListItems.setModel(model);
}

public void read(File fileN) throws IOException, ClassNotFoundException {

    FileInputStream inFile = new FileInputStream(fileN); 
    ObjectInputStream objeRead = new ObjectInputStream(inFile);

    while(inFile.available() > 0){          
        System.out.println((PersonTest) objeRead.readObject() + "\n");            
    }

    objeRead.close();
    System.out.println("File READ");

}

public void save(File fileName) throws FileNotFoundException, IOException{
    ObjectOutputStream objOStram = 
             new ObjectOutputStream(new FileOutputStream(fileName));

    for (int i = 0; i < person.size(); i++) {
        PersonTest p = person.get(i);
        objOStram.writeObject(p);
        objOStram.flush();

    }

    objOStram.close();
     System.out.println("File saved");

}

1 个答案:

答案 0 :(得分:0)

您可以将PersonTest对象添加到您在FillInList方法中使用的ArrayList,然后当您调用该方法时,数据将可用并将插入到JList中。