2010-03-17 38 views
2
public class DocFilter extends FileFilter { 
    public boolean accept(File f) { 
     if (f.isDirectory()) { 
      return true; 
     } 

     String extension = Utils.getExtension(f); 
     if (extension != null) { 
      if (extension.equals(Utils.doc) || 
       extension.equals(Utils.docx)) 
      { 
       return true; 
      } else { 
       return false; 
      } 
     } 
     return false; 
    } 

    //The description of this filter 
    public String getDescription() { return "Just Document Files"; } 
} 

Netbeans的编译器错误警告说,“没有此接口预期”上面的代码的Java的FileFilter

任何人有想法是什么问题?我尝试将“扩展”更改为“实现”,但是,它似乎没有这样工作。

,当我改变为工具,下面的代码不能工作,

chooser.addChoosableFileFilter(new DocFilter()); 

和与此错误,

“类javax.swing.JFileChooser方法addChoosableFileFilter不能被应用到给定的类型所需:javax.swing.filechooser.FileFilter“

任何人都可以帮忙吗?谢谢..

+0

您的进口产品看起来如何?你输入正确的'FileFilter'? – 2010-03-17 09:23:33

+0

yeah Joachim Sauer, 我输入了错误的库。哈哈..我的不好.. – 2010-03-17 09:58:43

回答

3

medoapl给我带来了答案。

JFileChooser预计javax.swing.filechooser.FileFilter当您的进口必须声明您使用java.io.FileChooser。第一个是一个类,第二个是接口。因此,请在导入中将第二个替换为第一个。

+0

最有可能。清理进口可以消除问题! – 2010-03-17 09:24:38

+0

OMG〜!自从Netbeans提出将io库作为第一选择并且我接受它之后,我忽略了这一部分。我怀疑已经... 非常感谢Riduidel .. ^^ – 2010-03-17 10:14:24