2012-03-27 65 views
3

我正在JFileChooser上構建一個JFileFilter,但是當我有代碼setFileFilter並且我的IDE提供了信息時發生錯誤'JFileChooser類型中的方法setFileFilter(FileFilter)不適用於參數(新的FileFilter(){})'。不過,我確信我之前用這種格式完成了它,並且一切正常。任何人都可以幫助我找到並理解爲什麼這不起作用嗎?謝謝!Java - setFileFilter問題

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

您確定自動導入:javax.swing.filechooser.FileFilter而不是java.io.FileFilter嗎? – talnicolas 2012-03-27 20:06:57

+0

是的,它使進口! – mino 2012-03-27 20:07:53

回答

8

這不是JFileFilter,它只是一個FileFilter

的問題是,有在J2SE 2的FileFilter類/接口。一個用於java.io ...我很確定它在File中。另一個是JFileChooser。您可能導入了錯誤的。

順便說一句,有一個擴展名filenameFilter或類似的東西,可能會做你想要的一切。在文檔中找到正確的類並查找它的子類

+0

使用你的建議解決它。使用:FileNameExtensionFilter。謝謝! – mino 2012-03-27 20:21:16