JFileChooser选择目录

时间:2014-02-06 11:49:18

标签: java swing jfilechooser

我有下一个代码:

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btnNajitPDFCache) {
        JFileChooser chooser;
           String choosertitle = "Select directory.";
        chooser = new JFileChooser(); 
        chooser.setCurrentDirectory(new java.io.File("."));
        chooser.setDialogTitle(choosertitle);
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        chooser.setApproveButtonText("OK");
        //
        // disable the "All files" option.
        //
        chooser.setAcceptAllFileFilterUsed(false);
        //    
        if (chooser.showOpenDialog(parent) == JFileChooser.APPROVE_OPTION) {
            textFieldPDFCache.setText(chooser.getCurrentDirectory()+"");
        }
    }
}

没关系。我在打开的选择器窗体中选择c:\ test文件夹,然后单击按钮确定。

但是chooser.getCurrentDirectory()只返回c:\。为什么?有什么问题?

3 个答案:

答案 0 :(得分:3)

getCurrentDirectory()返回在中打开的当前目录 JFileChooser。当您选择C:\test时,您打开了C:\目录,因此您C:\上的getCurrentDirectory()

getSelectedFile()返回选中的文件(在您的情况下,文件是目录)。因此,如果您希望用户选择的目录使用getSelectedFile()

答案 1 :(得分:2)

您应该使用chooser.getSelectedFile()代替。

答案 2 :(得分:0)

您可以将Canonical路径设置为  File Canonicalpath = new File(new File(“C:/”)。getCanonicalPath());