Java JFileChooser可以选择除当前文件夹之外的任何文件夹?
我使用JFileChooser允许用户选择文件夹。他们必须能够查看每个文件夹中的文件的上下文。问题是当对话框弹出时,我无法选择我所在的文件夹。(即,我单击“打开”,但什么也没有发生)。但是,如果我切换到另一个目录,然后返回到第一个目录,那么我可以选择它Java JFileChooser可以选择除当前文件夹之外的任何文件夹?,java,jfilechooser,Java,Jfilechooser,我使用JFileChooser允许用户选择文件夹。他们必须能够查看每个文件夹中的文件的上下文。问题是当对话框弹出时,我无法选择我所在的文件夹。(即,我单击“打开”,但什么也没有发生)。但是,如果我切换到另一个目录,然后返回到第一个目录,那么我可以选择它 public static String selectFolder() { final JFileChooser chooser = new JFileChooser() { public void approve
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;
}
根据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(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("."));
为了便于用户使用,请将其设置为与当前目录相同,以便用户在单击按钮时看到将选择哪个目录这不是一个真正的解决方案,但在我看来,从某个驱动器而不是文件夹开始更方便用户。我们这里不使用[已解决的]标题破解-使用接受系统本身就可以了,就像您已经做的那样。谢谢那么,如何选择对话框首次打开时指向的目录呢?切换到另一个目录,然后切换回第一个目录?就是这样。谢谢