bookExamples.ch18Swing
Class ExtensionFileFilter

java.lang.Object
  extended by javax.swing.filechooser.FileFilter
      extended by bookExamples.ch18Swing.ExtensionFileFilter

public class ExtensionFileFilter
extends javax.swing.filechooser.FileFilter

Sun's FileFilter example, renamed
A convenience implementation of FileFilter that filters out all files except for those type extensions that it knows about.

Extensions are of the type ".foo", which is typically found on Windows and Unix boxes, but not on Macintosh. Case is ignored.
Example - create a new filter that filters out all files but gif and jpg image files:

     JFileChooser chooser = new JFileChooser();
     ExtensionFileFilter filter = new ExtensionFileFilter(
                   new String{"gif", "jpg"}, "JPEG & GIF Images")
     chooser.addChoosableFileFilter(filter);
     chooser.showOpenDialog(this);
 

Version:
1.1 10/14/99
Author:
Jeff Dinkins

Constructor Summary
ExtensionFileFilter()
          Creates a file filter.
ExtensionFileFilter(java.lang.String extension)
          Creates a file filter that accepts files with the given extension.
ExtensionFileFilter(java.lang.String[] filters)
          Creates a file filter from the given string array.
ExtensionFileFilter(java.lang.String[] filters, java.lang.String description)
          Creates a file filter from the given string array and description.
ExtensionFileFilter(java.lang.String extension, java.lang.String description)
          Creates a file filter that accepts the given file type.
 
Method Summary
 boolean accept(java.io.File f)
          Return true if this file should be shown in the directory pane, false if it shouldn't.
 void addExtension(java.lang.String extension)
          Adds a filetype "dot" extension to filter against.
 java.lang.String getDescription()
          Returns the human readable description of this filter.
 java.lang.String getExtension(java.io.File f)
          Return the extension portion of the file's name .
 boolean isExtensionListInDescription()
          Returns whether the extension list (.jpg, .gif, etc) should showAndRegister up in the human readable description.
 void setDescription(java.lang.String description)
          Sets the human readable description of this filter.
 void setExtensionListInDescription(boolean b)
          Determines whether the extension list (.jpg, .gif, etc) should showAndRegister up in the human readable description.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtensionFileFilter

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


ExtensionFileFilter

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


ExtensionFileFilter

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


ExtensionFileFilter

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


ExtensionFileFilter

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

Method Detail

accept

public boolean accept(java.io.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 javax.swing.filechooser.FileFilter

getExtension

public java.lang.String getExtension(java.io.File f)
Return the extension portion of the file's name .


addExtension

public void addExtension(java.lang.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":
   ExtensionFileFilter filter = new ExtensionFileFilter();
   filter.addExtension("jpg");
   filter.addExtension("tif");
 
Note that the "." before the extension is not needed and will be ignored.


getDescription

public java.lang.String getDescription()
Returns the human readable description of this filter. For example: "JPEG and GIF Image Files (*.jpg, *.gif)"

Specified by:
getDescription in class javax.swing.filechooser.FileFilter

setDescription

public void setDescription(java.lang.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 showAndRegister up in the human readable description.
Only relevant if a description was provided in the constructor or using setDescription();


isExtensionListInDescription

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