我正在使用JFileChooser来允许用户选择文件夹。他们必须能够查看每个文件夹中的文件以获取上下文。问题是,当弹出对话框时,我无法选择我的文件夹。 (即我点击"打开"没有任何反应)。但是,如果我切换到另一个目录然后回到第一个目录,那么我可以选择它。
public static String selectFolder()
{
final JFileChooser chooser = new JFileChooser() {
public void approveSelection() {
if (getSelectedFile().isFile()) {
return;
} else
super.approveSelection();
}
};
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("Select Folder");
chooser.setFileSelectionMode( JFileChooser.FILES_AND_DIRECTORIES );
chooser.setAcceptAllFileFilterUsed(false);
chooser.showOpenDialog(null);
File x = chooser.getSelectedFile();
if( x != null )
return x.toString();
return null;
}
答案 0 :(得分:2)
public static String selectFolder() {
final JFileChooser chooser = new JFileChooser() {
public void approveSelection() {
if (getSelectedFile().isFile()) {
return;
} else
super.approveSelection();
}
};
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("Select Folder");
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setAcceptAllFileFilterUsed(true);
chooser.setSelectedFile(new java.io.File("."));
chooser.showOpenDialog(null);
File x = chooser.getSelectedFile();
if (x != null)
return x.toString();
return null;
}
你只需添加一行:
chooser.setSelectedFile(new java.io.File("."));
为了方便用户,将其设置为与CurrentDirectory
相同,以便用户在单击按钮时看到将选择哪个目录
答案 1 :(得分:0)
根据JFileChooser,您必须在对话框中选择一个文件或文件夹,然后只允许您单击打开/保存。