2013-12-12 2 views
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"); 

} 
+0

'Person' 목록에 실제로'PersonTest' 객체를 추가 했습니까? 나는 당신의 코드에 어떤 추가도 보지 못했다. –

+0

read (...) 메서드에서 루프가 시작되기 전에 ArrayList()를 만들어야합니다. 그런 다음 각 PersonTest를 읽으면 객체를 ArrayList에 추가합니다. 루프가 끝나면 "fillnList()"메소드가 호출됩니다. – camickr

답변

0

당신은 당신이 당신이 사용할 수 메소드 데이터를 호출 할 때 FillInList 방법으로 사용하고 JList에 삽입 될 ArrayList에에 PersonTest 객체를 추가 할 수 있습니다.

관련 문제