我有一个程序,用户可以通过它下载文件,我希望将JFileChooser锁定到一个文件夹(directory)中,这样用户就不能浏览其他内容。他只能从例如"C:\Users\Thomas\Dropbox\Prosjekt RMI\SERVER\"文件夹中选择文件。我已经尝试过搜索但没有找到任何答案。我现在的代码是:
String getProperty = System.getProperty("user.home");
JFileChooser chooser = new JFileChooser(getProperty + "/Dropbox/Prosjekt RMI/SERVER/"); //opens in the directory "//C:/Users/Thomas/Dropbox/Project RMI/SERVER/"
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName());
这是可以正常工作的,但现在我可以进入不想进入的Project RMI文件夹。
提前感谢:)
编辑:在你的帮助下我所做的:
JFileChooser chooser = new JFileChooser(getProperty + "/Dropbox/Project RMI/SERVER/");
chooser.setFileView(new FileView() {
@Override
public Boolean isTraversable(File f) {
return (f.isDirectory() && f.getName().equals("SERVER"));
}
});
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: "
+ chooser.getSelectedFile().getName());
}