作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有这个程序,您可以在其中下载文件,我希望将 JFileChooser 锁定到一个文件夹(目录),以便用户无法浏览其他任何内容。他只能从例如文件夹“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());
}
最佳答案
设置一个FileView
并覆盖 isTraversable
方法,以便它仅对您希望用户看到的目录返回 true。
这是一个例子:
String getProperty = System.getProperty("user.home");
final File dirToLock = new File(getProperty + "/Dropbox/Prosjekt RMI/SERVER/");
JFileChooser fc = new JFileChooser(dirToLock);
fc.setFileView(new FileView() {
@Override
public Boolean isTraversable(File f) {
return dirToLock.equals(f);
}
});
关于java - JFileChooser,想把它锁定到一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8926146/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!