JList不会向其添加数据

时间:2013-05-31 13:27:23

标签: java swing arraylist jlist filelist

如果我想向ArrayList添加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());
    }

2 个答案:

答案 0 :(得分:1)

使用ListModel添加数据:
1.创建DefaultListModel的新实例 2.将文件名添加到列表模型中 3.将其设置为JList列表模型

答案 1 :(得分:0)

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