继承一下filefilter重载accept方法,指定你能接收的文件。class DirFilter implements FilenameFilter {
  String afn;
  DirFilter(String afn) { this.afn = afn; }
  public boolean accept(File dir, String name) {
    // Strip path information:
    String f = new File(name).getName();
    return f.indexOf(afn) != -1;
  }
}
public interface FilenameFilter {
boolean accept(文件目录, 字串名);
}
这是Thinking in java上面的例子

解决方案 »

  1.   

    建议你看看JAVA自带的DEMO,
    有一个FileChooserDemo例子,可以实现你的要求!!
      

  2.   

    楼上没有理解我的意思,添加新的文件类型我已经实现了,问题是我不需要默认的 All Files(*.*),只允许选择我填加的类型,怎样可以去掉 All Files(*.*)?
      

  3.   

    我知道了JFileChooser.setAcceptAllFileFilterUsed(false);
      

  4.   

    还有一个问题,怎样分别设置 JFileChooser 对话框的标题 和 批准按钮上的文本?使用 int showDialog(Component parent,String approveButtionTest) 方法,设置的文本和标题均相同。
    而使用 showSaveDialog() 均为 Save;使用 showOpenDialog() 均为 Open。怎样才能分别设置,例如 批准按钮上的文本为 Open;对话框标题为 Import?
      

  5.   

    很容易直接用JFileChooser 中的方法setAcceptAllFileFilterUsed(boolean b),将参数设为false 就可以了
      

  6.   

    fileChooser.removeChoosableFileFilter( fileChooser.getFileFilter() );
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    先把所有filter都去掉,然后加入自己重载后的filter
    DatFileFilter filter = new DatFileFilter();
    fileChooser.setFileFilter( filter );public class DatFileFilter extends javax.swing.filechooser.FileFilter 
    {
       public boolean accept( File f ) 
       {
          if( f.isDirectory() || f.getName().endsWith( ".dat" ) ) 
          {
             return true;
          }
          else 
          {
             return false;
          }
       }
       
       public String getDescription() 
       {
          return "二进制文件";
       }
    }