如何避免 .getSelectedFile() 过早选择?
How to avoid .getSelectedFile() premature selection?
看起来 .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();
}
仅供参考,selecting() 是创建数据库的命令。
您需要查看 showOpenDialog()
返回的结果以查看用户是否选择了“打开”:
int res = fc.showOpenDialog(null);
if (res==JFileChooser.APPROVE_OPTION) {
// User picked 'Open"
chosenfolder = fc.getSelectedFile();
// ...
}
看起来 .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();
}
仅供参考,selecting() 是创建数据库的命令。
您需要查看 showOpenDialog()
返回的结果以查看用户是否选择了“打开”:
int res = fc.showOpenDialog(null);
if (res==JFileChooser.APPROVE_OPTION) {
// User picked 'Open"
chosenfolder = fc.getSelectedFile();
// ...
}