Subversion Repositories wimsdev

Rev

Rev 3662 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.     Sketch Elements: Chemistry molecular diagram drawing tool.
  3.    
  4.     (c) 2005 Dr. Alex M. Clark
  5.    
  6.     Released as GNUware, under the Gnu Public License (GPL)
  7.    
  8.     See www.gnu.org for details.
  9. */
  10.  
  11. package WIMSchem;
  12.  
  13. import java.util.*;
  14. import java.text.*;
  15. import java.lang.*;
  16. import java.io.*;
  17. import javax.swing.filechooser.*;
  18.  
  19. // Selecting files by extension (strangely absent from Java).
  20.  
  21. public class FileExtFilter extends javax.swing.filechooser.FileFilter
  22. {
  23.     String descr;
  24.     ArrayList<String> exts;
  25.    
  26.     public FileExtFilter(String descroot,String suffixes)
  27.     {
  28.         exts=new ArrayList<String>();
  29.         StringTokenizer tok=new StringTokenizer(suffixes,";");
  30.         while (tok.hasMoreTokens()) exts.add(tok.nextToken());
  31.        
  32.         descr=descroot+" (";
  33.         for (int n=0;n<exts.size();n++) descr=descr+(n>0 ? " " : "")+"*"+exts.get(n);
  34.         descr=descr+")";
  35.     }
  36.    
  37.     public String getDescription() {return descr;}
  38.    
  39.     public boolean accept(File f)
  40.     {
  41.         if (f.isDirectory()) return true;
  42.         for (int n=0;n<exts.size();n++) if (f.getName().endsWith(exts.get(n))) return true;
  43.         return false;
  44.     }
  45. }
  46.