问题描述
即使选择了“取消”选项,.getSelectedFile()函数仍会从文件选择器中选择一个文件夹。有其他功能吗?像getopenedFolder()一样?我将不胜感激任何帮助。这是我的代码:
boolean flag = false;
fc.setCurrentDirectory(new java.io.File("C:/Users/michaelartichoke/Desktop"));
fc.setDialogTitle("PDF Manager");
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.showOpenDialog(null);
chosenfolder = fc.getSelectedFile();
try{
folderpath = chosenfolder.getAbsolutePath();
flag = true;
} catch(Exception e){
//
}
if(flag!=false){
selecting();
}
仅供参考,selection()是创建数据库的命令。
解决方法
您需要查看showOpenDialog()
返回的结果,以查看用户是否选择了“打开”:
int res = fc.showOpenDialog(null);
if (res==JFileChooser.APPROVE_OPTION) {
// User picked 'Open"
chosenfolder = fc.getSelectedFile();
// ...
}