无法使用 JFileChooser select 文件夹作为目录

Cannot select folders as directories using JFileChooser

我目前正在尝试使用 JFileChooser return 文件或目录的路径作为字符串。但是,我发现在我先选择一个文件之前,我无法选择一个文件夹作为我的选择。虽然这不是主要问题,但解决起来却令人沮丧。

正在发生的事情的 Gfycat:https://gfycat.com/DeadlyDeliriousAzurevase

代码:

public static String openFileChooser()
{
    int returnValue = fileChoose.showOpenDialog(null);
    if(returnValue == JFileChooser.APPROVE_OPTION)
    {
        fileChoose.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        return (fileChoose.getSelectedFile().getAbsoluteFile().toString());
    }
    else
    {
        return "null";
    }

}

非常感谢您的帮助,谢谢!

您正在设置文件选择模式您显示了对话框并且用户单击了按钮之后。在那个时候它不会有任何影响。您需要在显示文件选择器对话框之前设置它

您需要向上移动成为方法中第一行的行是:

fileChoose.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

您应该将代码更改为

JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
    System.out.println(fileChooser.getSelectedFile().getAbsoluteFile().toString());
} else {
    System.out.println("Empty");
}

确保调用
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
在你打开对话框之前