Class BasicFileFilter

java.lang.Object
javax.swing.filechooser.FileFilter
uk.ac.starlink.util.gui.BasicFileFilter
All Implemented Interfaces:
FilenameFilter

public class BasicFileFilter extends FileFilter implements FilenameFilter
A FileFilter for configuring a JFileChooser to only show files that have one of a set of file extensions. Also implements FilenameFilter to provide similar services for filtering directory contents using the File class (see File.listFiles()).

Example - create filters for HDS and FITS files and use with a BasicFileChooser.

     BasicFileChooser chooser = new BasicFileChooser();
     BasicFileFilter fitsFilter = new BasicFileFilter(
                   new String{ "fit", "fits" }, "FITS files" )
     chooser.addChoosableFileFilter( fitsFilter );
     BasicFileFilter hdsFilter =
                     new BasicFileFilter( "hds", "HDS container files" );
     chooser.addChoosableFileFilter( hdsFilter );
     chooser.showOpenDialog( this );
 
Example - filter the files in a directory.
   BasicFileFilter idsFilter = new BasicFileFilter( "ids" );
   File dir = new File( "." );
   File[] files = dir.listFiles( idsFilter );
 
Version:
$Id$
Author:
Jeff Dinkins, Peter W. Draper
  • Constructor Details

    • BasicFileFilter

      public BasicFileFilter()
      Creates a file filter. If no filters are added, then all files are accepted.
      See Also:
    • BasicFileFilter

      public BasicFileFilter(String extension)
      Creates a file filter that accepts files with the given extension. Example: new BasicFileFilter("jpg");
      See Also:
    • BasicFileFilter

      public BasicFileFilter(String extension, String description)
      Creates a file filter that accepts the given file type. Example: new BasicFileFilter("jpg", "JPEG Image Images"); Note that the "." before the extension is not needed. If provided, it will be ignored.
      See Also:
    • BasicFileFilter

      public BasicFileFilter(String[] filters)
      Creates a file filter from the given string array. Example: new BasicFileFilter(String {"gif", "jpg"}); Note that the "." before the extension is not needed and will be ignored.
      See Also:
    • BasicFileFilter

      public BasicFileFilter(String[] filters, String description)
      Creates a file filter from the given string array and description. Example: new BasicFileFilter(String {"gif", "jpg"}, "Gif and JPG Images"); Note that the "." before the extension is not needed and will be ignored.
      See Also:
  • Method Details

    • accept

      public boolean accept(File f)
      Return true if this file should be shown in the directory pane, false if it shouldn't. Files that begin with "." are ignored.
      Specified by:
      accept in class FileFilter
      See Also:
    • getExtension

      public static String getExtension(String name)
      Return the extension of a file's name.
    • getExtension

      public static String getExtension(File f)
      Return the extension of a file's name.
      Parameters:
      f - the File.
    • addExtension

      public void addExtension(String extension)
      Adds a filetype "dot" extension to filter against. For example: the following code will create a filter that filters out all files except those that end in ".jpg" and ".tif": BasicFileFilter filter = new BasicFileFilter(); filter.addExtension("jpg"); filter.addExtension("tif"); Note that the "." before the extension is not needed and will be ignored.
    • getDescription

      public String getDescription()
      Returns the human readable description of this filter. For example: "JPEG and GIF Image Files (*.jpg, *.gif)"
      Specified by:
      getDescription in class FileFilter
    • setDescription

      public void setDescription(String description)
      Sets the human readable description of this filter. For example: filter.setDescription("Gif and JPG Images");
    • setExtensionListInDescription

      public void setExtensionListInDescription(boolean b)
      Determines whether the extension list (.jpg, .gif, etc) should show up in the human readable description. Only relevent if a description was provided in the constructor or using setDescription();
    • isExtensionListInDescription

      public boolean isExtensionListInDescription()
      Returns whether the extension list (.jpg, .gif, etc) should show up in the human readable description. Only relevent if a description was provided in the constructor or using setDescription();
    • accept

      public boolean accept(File dir, String name)
      Specified by:
      accept in interface FilenameFilter