我有一个JFileChooser
在特定目录中打开,然后允许用户选择其中的目录(选中时单击并按下OK
按钮)。
但是,双击目录时,文件选择器会打开该目录而不是选择它。
我怎么能
我已尝试覆盖isTraversable()
和FileView
中的FileSystemView
方法,该方法可将文件选择器限制为某个目录,但是,它不会显示所述内容中的任何项目。目录
这是我现在的代码:
JFileChooser fc = new JFileChooser(dir);
fc.setApproveButtonText("OK");
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setMultiSelectionEnabled(false);
fc.showOpenDialog(fileChooserDialog);
File file = fc.getSelectedFile();
if (file.getParent().equals(dir)) {
//do something
}
答案 0 :(得分:2)
您可以修改操作地图。我无法访问编译器ATM,所以我无法测试它,但它应该可以工作。
JFileChooser chooser = new JFileChooser(".");
ActionMap am = chooser.getActionMap();
Action key = am.get("WHATEVER_THEACTIONAME_FOR_OPEN-DIR._IS") //I think it's "Open Folder";
key.setEnabled(false);
稍后当我有时间和访问编译器时,我会更新这个答案。