我正在JFileChooser上构建一个JFileFilter,但是在我有代码setFileFilter
并且我的IDE提供信息的情况下会发生错误'JFileChooser类型中的方法setFileFilter(FileFilter)不适用于参数(new FileFilter(){})'。不过我确信我之前已经用这种格式完成了它并且一切都很好。任何人都可以帮我找到并理解为什么这不起作用?谢谢!
JFileChooser chooser = new JFileChooser();
chooser.setDialogTitle("Open File");
chooser.setFileFilter(new FileFilter(){
@Override
public boolean accept(File f) {
String fName = f.getName().toUpperCase();
if (fName.endsWith(".TXT") || f.isDirectory()) {
return true;
} else {
return false;
}
}
public String getDescription() {
return "Text File (*.txt)";
}
});
答案 0 :(得分:8)
这不是JFileFilter,它只是FileFilter
问题是J2SE中有两个FileFilter类/接口。一个在java.io中使用...我很确定它在File中。另一个是JFileChooser。你可能导入了错误的。
顺便说一下,有一个扩展名filenameFilter或类似的东西可能会做你想要的一切。在文档中找到正确的类并查找其子类