http://expert.csdn.net/Expert/topic/1231/1231049.xml?temp=.2655146

解决方案 »

  1.   

    class myFilter extends javax.swing.filechooser.FileFilter {
        Vector extensionsToFilter = new Vector();
        String typeDescription;
        public myFilter(String exts, String desp) {
          super();
          StringTokenizer st = new StringTokenizer(exts, ";");
          while (st.hasMoreElements())
          extensionsToFilter.add(st.nextElement());
          typeDescription = desp;
        }
        public boolean accept(File file) {
          if (file.isDirectory())
          return true;
          String fileName = file.getName();
          int periodIndex = fileName.lastIndexOf(".");
          if (periodIndex >0 && periodIndex < fileName.length() -1) {
            String extension = fileName.substring(periodIndex +1).toLowerCase();
            for (int i = 0; i < extensionsToFilter.size(); i++)
            if (extension.equals(extensionsToFilter.elementAt(i)))
            return true;
          }
          return false;
        }
        public String getDescription() {
          String s = "";
          for (int i = 0; i <extensionsToFilter.size(); i++)
          s += "*." + extensionsToFilter.elementAt(i) + "; ";
          return typeDescription + ": " + s;
        }
      }使用实例:
        JFileChooser aChooser = new JFileChooser(".");
        aChooser.addChoosableFileFilter(new myFilter("txt", "text files"));
        int i = aChooser.showOpenDialog(null);