0
나는이 세 가지 방법을 사용하며 정상적으로 작동합니다. ArrayList의 데이터를 JList에 추가하기 위해 fullInList를 만들었습니다. 하지만 Java에서 파일을 읽으 려하고 데이터를 JList에 표시하려고합니다. 어떻게해야합니까?DefaultListModel을 사용하여 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");
}
'Person' 목록에 실제로'PersonTest' 객체를 추가 했습니까? 나는 당신의 코드에 어떤 추가도 보지 못했다. –
read (...) 메서드에서 루프가 시작되기 전에 ArrayList()를 만들어야합니다. 그런 다음 각 PersonTest를 읽으면 객체를 ArrayList에 추가합니다. 루프가 끝나면 "fillnList()"메소드가 호출됩니다. – camickr