简体   繁体   English

JList不会向其中添加数据

[英]JList won't add data to it

If i want to add an ArrayList to a JList , it is not shown in the list, but the array contains the items. 如果我想将ArrayList添加到JList ,则列表中未显示它,但是数组包含项。 How could i fix this? 我该如何解决?

  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());
    }

use ListModel to add the data: 使用ListModel添加数据:
1. create new instance of DefaultListModel 1.创建DefaultListModel新实例
2. add your file names to the list model 2.将您的文件名添加到列表模型
3. set it as your JList list model 3.将其设置为您的JList列表模型

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM