如何使用.java和.class文件填充JList

时间:2012-05-16 16:21:19

标签: java swing netbeans filesystems jlist

我正在创建一个应用程序,该应用程序从所选目录中获取.java和.class文件的列表,并将它们放在JList中。我正在使用Netbeans 7.1.2。

目前我正在检索文件并将其放入List<File>。我将列表中的所有文件打印出来,但我无法将它们添加到我的表单中的JList。

这就是我将文件添加到列表中的方式

List<File> filesInDirectory = new ArrayList<>(); 

public List listFilesForFolder(final File folder) {

    for (final File fileEntry : folder.listFiles()) {
            if (fileEntry.isDirectory()) {
                listFilesForFolder(fileEntry);
            } else {
                        if(fileEntry.toString().toUpperCase().endsWith(".CLASS") || fileEntry.toString().toUpperCase().endsWith(".JAVA")){
                            filesInDirectory.add(fileEntry);
                            System.out.println(fileEntry.getName());
                        }
            }
        }

    return filesInDirectory;
}

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:5)

DefaultListModel model = new DefaultListModel();
for(File f : yourFileList) {
    model.addElement(f);
}

yourList.setModel(model);

答案 1 :(得分:4)

创建一个DefaultListModel对象并将文件添加到此对象,然后让JList使用此模型。有关这方面的更多信息,请查看JList Tutorial。您可能希望创建一个ListCellRenderer,以便正确显示文件文本。