使用javax.swing.filechooser.FileFilter
class DemoFilter extends javax.swing.filechooser.FileFilter{
  public boolean accept(File f){
    boolean accept = f.isDirectory();
    if(!accept){
      String suffix = getSuffix(f);
      if(suffix!=null)
        accept = suffix.equals("txt");//只打开txt文件
     }
     return accept;
  }
  public String getDescription(){
    return "文本文件 (*.txt)";
  }
  private String getSuffix(File f){
    String s = f.getPath(),suffix = null;
    int i = s.lastIndexOf('.');
    if(i>0&&i<s.length() -1)
      suffix = s.substring(i+1).toLowerCase();
    return suffix;
  }
}
}
使用:
    JFileChooser chooser = new JFileChooser();
    chooser.addChoosableFileFilter(new DemoFilter());
    int state = chooser.showOpenDialog(null);
   ...

解决方案 »

  1.   

    这个方法不行呀还是没有屏蔽JFileChooser对所有文件。上在还有
    全部文件(*.*)
      

  2.   

    这个方法不行呀还是没有屏蔽JFileChooser对所有文件。上在还有
    全部文件(*.*)
      

  3.   

    JFileChooser.removeChoosableFileFilter(JFileChooser.getChoosableFileFilters()[0]);
    这句关键,其余的与他一样
      

  4.   

    gdsean(摇滚java)的主要是起一个过滤作用,让你只可选*.txt和*.*,在用时先JFileChooser.removeChoosableFileFilter(JFileChooser.getChoosableFileFilters()[0]);
    将*.*移掉就行