1

正如标题所述,有没有办法使用 JFileChooser 一次选择多个目录(主目录中的所有子目录),这样我就不必为每个目录重新打开文件选择器窗口?

4

1 回答 1

2

问完之后,我又一次解决了自己的问题。

之前阻止我让它工作的事情是我使用了多选检查而不是多选设置,显然是使用了错误,并且我一直收到错误。无论如何,工作版本如下:

class AddDirectory implements ActionListener {
    public void actionPerformed(ActionEvent ae) {
        File[] theDir = null;
        theDir = selectDir();
        if(theDir != null) {
            for(File z : theDir) {
                String[] curRow = { z.toString(), "Waiting"};
                dlm.addRow(curRow);
            }
        }
        return;
    }   
    private File[] selectDir() {
        JFileChooser fileChooser = new JFileChooser(lastDir);
        fileChooser.setMultiSelectionEnabled(true);
        fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int showOpenDialog = fileChooser.showOpenDialog(null);
        if (showOpenDialog != JFileChooser.APPROVE_OPTION) {
            return null;
        }
        File[] uploadDir = fileChooser.getSelectedFiles();
        lastDir = new File(uploadDir[uploadDir.length-1].getParent());
        return uploadDir;
    }
}

一旦我得到这些目录,它们就会被加载到一个 JTable 中进行修改,然后再在它们上运行我的其余代码。

于 2013-01-24T21:07:54.073 回答