我目前正在尝试使用JFileChooser将文件或目录的路径作为字符串返回。但是,我发现在首先选择文件之前,我无法选择文件夹作为我的选择。虽然这不是一个主要问题,但解决起来却令人沮丧。
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";
}
}
非常感谢帮助,谢谢!
答案 0 :(得分:1)
您已经设置了文本选择模式,您已经显示了对话框并且用户点击了该按钮。它在那时没有任何影响。你需要在之前设置它来显示文件选择器对话框。
您需要升级为方法中第一行的行是:
fileChoose.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
答案 1 :(得分:0)
您应该将代码更改为
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);
在打开对话框之前