JFileChooser 无法点击 'choose'
JFileChooser can't click 'choose'
在我的 Java 程序中,有一部分用户可以选择和更改工作目录。问题是,当我在选择目录路径后单击 'choose' 时,没有执行任何操作。选择 window 保持打开状态。
但是,当我在字段 "File Name" 中输入任何文本或选择目录中的任何文件并单击 'choose' 时,window 正在关闭并选择了目录.
我的代码很简单,我真的不明白为什么它不起作用。你可以在这里找到我的代码:
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if(returnVal == JFileChooser.APPROVE_OPTION) {
stringHomeDir = chooser.getCurrentDirectory().getPath();
}
...
如何更改它以便用户可以轻松地在文件选择器中选择目录?
int returnVal = chooser.showOpenDialog(null);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
这两个语句的顺序应该颠倒,因为 showOpenDilaog
方法会阻塞直到关闭。
更改语句的顺序并使用 JFileChooser 的 setSelectedFile(File) 方法 class。
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'.
的子目录
在我的 Java 程序中,有一部分用户可以选择和更改工作目录。问题是,当我在选择目录路径后单击 'choose' 时,没有执行任何操作。选择 window 保持打开状态。
但是,当我在字段 "File Name" 中输入任何文本或选择目录中的任何文件并单击 'choose' 时,window 正在关闭并选择了目录.
我的代码很简单,我真的不明白为什么它不起作用。你可以在这里找到我的代码:
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if(returnVal == JFileChooser.APPROVE_OPTION) {
stringHomeDir = chooser.getCurrentDirectory().getPath();
}
...
如何更改它以便用户可以轻松地在文件选择器中选择目录?
int returnVal = chooser.showOpenDialog(null);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
这两个语句的顺序应该颠倒,因为 showOpenDilaog
方法会阻塞直到关闭。
更改语句的顺序并使用 JFileChooser 的 setSelectedFile(File) 方法 class。
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'.
的子目录