我正在尝试使用 JFileChooser 选择具有以下名称格式的文件:LS48*.drv。 同时我想限制用户仅查看特定目录,例如c:\data。所以我不希望用户能够更改目录或其他驱动器名称。 下面是我的代码段的基础,您能给我一些提示吗:
m_fileChooser = new JFileChooser("c:\\data"); // looking for LS48*.drv files
m_fileChooser.setFileFilter(new FileNameExtensionFilter("drivers(*.drv, *.DRV)", "drv", "DRV"));
最佳答案
您需要实现自己的 FileFilter
子类,并将其设置为文件选择器而不是 FileNameExtensionFilter
实例。
这个子类中的 accept
方法将类似于以下内容:
private static final Pattern LSDRV_PATTERN = Pattern.compile("LS48.*\\.drv");
public boolean accept(File f) {
if (f.isDirectory()) {
return false;
}
return LSDRV_PATTERN.matcher().matches(f.getName());
}
关于java jfilechooser 仅列出 "hello*.txt files"并且不更改目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10761677/