Java-setFileFilter问题

Java-setFileFilter问题,java,swing,jfilechooser,Java,Swing,Jfilechooser,我正在JFileChooser上构造一个JFileFilter,但是当我有代码setFileFilter并且我的IDE提供了信息“JFileChooser类型中的方法setFileFilter(FileFilter)不适用于参数(new FileFilter(){})”时会发生错误。不过我相信我以前也用过这种方式,而且一直都很好。有人能帮我找到并理解为什么这不起作用吗?谢谢 JFileChooser chooser = new JFileChooser(); chooser.se

我正在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)";
            }

        });

这不是JFileFilter,只是FileFilter

问题在于J2SE中有两个FileFilter类/接口。一个用于java.io中。。。我很确定它在档案里。另一个用于JFileChooser。您可能导入了错误的


顺便说一句,有一个扩展名filenameFilter或类似的东西,它可能满足您的所有需求。在文档中找到正确的类并查找其子类

您确定它实现了良好的自动导入:
javax.swing.filechooser.FileFilter
而不是
java.io.FileFilter
?使用您的建议解决了它。已使用:FileNameExtensionFilter。谢谢