uk.ac.starlink.util.gui
Class BasicFileFilter

java.lang.Object
  extended by javax.swing.filechooser.FileFilter
      extended by 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 Summary
BasicFileFilter()
          Creates a file filter.
BasicFileFilter(String extension)
          Creates a file filter that accepts files with the given extension.
BasicFileFilter(String[] filters)
          Creates a file filter from the given string array.
BasicFileFilter(String[] filters, String description)
          Creates a file filter from the given string array and description.
BasicFileFilter(String extension, String description)
          Creates a file filter that accepts the given file type.
 
Method Summary
 boolean accept(File f)
          Return true if this file should be shown in the directory pane, false if it shouldn't.
 boolean accept(File dir, String name)
           
 void addExtension(String extension)
          Adds a filetype "dot" extension to filter against.
 String getDescription()
          Returns the human readable description of this filter.
static String getExtension(File f)
          Return the extension of a file's name.
static String getExtension(String name)
          Return the extension of a file's name.
 boolean isExtensionListInDescription()
          Returns whether the extension list (.jpg, .gif, etc) should show up in the human readable description.
 void setDescription(String description)
          Sets the human readable description of this filter.
 void setExtensionListInDescription(boolean b)
          Determines whether the extension list (.jpg, .gif, etc) should show up in the human readable description.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicFileFilter

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

See Also:
addExtension(java.lang.String)

BasicFileFilter

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

See Also:
addExtension(java.lang.String)

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:
addExtension(java.lang.String)

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:
addExtension(java.lang.String)

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:
addExtension(java.lang.String)
Method Detail

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:
FileFilter.accept(java.io.File)

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


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.