在我的Java程序中,有一部分用户可以选择和更改工作目录。问题是,当我点击“选择”时,没有执行任何操作。选择目录路径后。选择窗口保持打开状态。
但是,当我在字段中输入任何文本时,"文件名"或者选择目录中的任何文件,然后单击“选择”。正在关闭窗口并选择目录。
我的代码非常简单,我真的不明白它为什么不起作用。你可以在这里找到我的代码:
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if(returnVal == JFileChooser.APPROVE_OPTION) {
stringHomeDir = chooser.getCurrentDirectory().getPath();
}
...
如何更改它以便用户可以轻松选择文件选择器中的目录?
答案 0 :(得分:3)
int returnVal = chooser.showOpenDialog(null);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
这两个语句的顺序应该相反,因为showOpenDilaog
方法会阻塞直到它关闭。
答案 1 :(得分:0)
更改语句的顺序并使用JFileChooser类的setSelectedFile(File)方法。
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setSelectedFile(new File(chooser.getCurrentDirectory() + "/" + "Downloads")));
int returnVal = chooser.showOpenDialog(null);
...
'MyDocuments'是JFileChooser的默认当前目录,'Downloads'是'MyDocuments'的子目录。