JFileChooser就在javax.swing里。
getSelectedFile()获得在选取器中选取的一个文件的引用(可能是文件,可能是目录,可能是null,要自己判断)。
要过滤文件类型需要定制自己的FileFilter,下例接受指定扩展名的文件,比如new PicFilter("jpg;gif", "Pictures")只jpg/gif为扩展名的文件。
class PicFilter extends javax.swing.filechooser.FileFilter {
    Vector extensionsToFilter = new Vector();
    String typeDescription;
    public PicFilter(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;
    }
  }