1

如果我想将 an 添加ArrayList到 a 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());
    }
4

2 回答 2

1

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

于 2013-05-31T13:36:13.823 回答
0
for(Object item : arrayList.toArray()){
    ((DefaultListModel) list1.getModel()).addElement(item);
}
于 2015-06-09T14:01:39.157 回答