2013-05-31 74 views
1

如果我想將ArrayList添加到JList,它不會顯示在列表中,但數組包含項目。我怎麼能解決這個問題?JList將不會向其添加數據

public void updateLeftList(){ 
     // Enter the search text 
     interFace.Search.setText(this.search); 

     // Get the left list 
     JList leftList = interFace.LeftList; 
     leftList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 

     // Define the arraylists 
     allPdf = new ArrayList(); 
     curPdf = new ArrayList(); 
     addPdf = new ArrayList(); 

     // Get Files from manuals folder   
     File files = new File(configFile.getProperty("dir") + "/" + this.taal); 
     File[] listFiles = files.listFiles(); 

     for(int i = 0; i < listFiles.length; i++){ 
      if(listFiles[i].getName().endsWith(".pdf") && listFiles[i].isFile()){ 
       allPdf.add(listFiles[i].getName().toString()); 
      } 
     } 
     leftList.setListData(allPdf.toArray()); 
    } 
+0

爲更好的幫助,儘早發佈[SSCCE](http://sscce.org/),簡短,可運行,可編譯,否則這個問題是不負責的 – mKorbel

回答

1

使用的ListModel添加數據:
1.創建DefaultListModel
2.新實例添加文件名列表模式
3.將它設置爲JList列表模型

+0

我的'InterFace'類不工作。在Construstor中我調用'interFace = new InterFace()'。但是,如果我在另一個類 – user6827

+0

中調用方法'updateLeftList()',這是不行的,究竟是什麼問題?有沒有例外?沒有看到相關的代碼片段,很難給出一些建議...... –

+0

沒有例外。 'InterFace'由NetBeans Design Editor編寫。 'Manuals'是主類,在它的構造函數中我稱'interFace = new InterFace()'。另外'updateLeftList'在'Manuals'類中定義。當我使用NetBeans Design Editor – user6827

0
for(Object item : arrayList.toArray()){ 
    ((DefaultListModel) list1.getModel()).addElement(item); 
}