FileDocCategorySizeDatePackage
ExampleFileFilter.javaAPI DocSun JDK 1.4.2 Example8550Thu May 12 00:35:27 BST 2005None

ExampleFileFilter

public class ExampleFileFilter extends FileFilter
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 Macinthosh. Case is ignored. Example - create a new filter that filerts out all files but gif and jpg image files: JFileChooser chooser = new JFileChooser(); ExampleFileFilter filter = new ExampleFileFilter( new String{"gif", "jpg"}, "JPEG & GIF Images") chooser.addChoosableFileFilter(filter); chooser.showOpenDialog(this);
version
1.14 01/23/03
author
Jeff Dinkins

Fields Summary
private static String
TYPE_UNKNOWN
private static String
HIDDEN_FILE
private Hashtable
filters
private String
description
private String
fullDescription
private boolean
useExtensionsInDescription
Constructors Summary
public ExampleFileFilter()
Creates a file filter. If no filters are added, then all files are accepted.

see
#addExtension


                         
      
	this.filters = new Hashtable();
    
public ExampleFileFilter(String extension)
Creates a file filter that accepts files with the given extension. Example: new ExampleFileFilter("jpg");

see
#addExtension

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

see
#addExtension

	this();
	if(extension!=null) addExtension(extension);
 	if(description!=null) setDescription(description);
    
public ExampleFileFilter(String[] filters)
Creates a file filter from the given string array. Example: new ExampleFileFilter(String {"gif", "jpg"}); Note that the "." before the extension is not needed adn will be ignored.

see
#addExtension

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

see
#addExtension

	this();
	for (int i = 0; i < filters.length; i++) {
	    // add filters one by one
	    addExtension(filters[i]);
	}
 	if(description!=null) setDescription(description);
    
Methods Summary
public booleanaccept(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.

see
#getExtension
see
FileFilter#accepts

	if(f != null) {
	    if(f.isDirectory()) {
		return true;
	    }
	    String extension = getExtension(f);
	    if(extension != null && filters.get(getExtension(f)) != null) {
		return true;
	    };
	}
	return false;
    
public voidaddExtension(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": ExampleFileFilter filter = new ExampleFileFilter(); filter.addExtension("jpg"); filter.addExtension("tif"); Note that the "." before the extension is not needed and will be ignored.

	if(filters == null) {
	    filters = new Hashtable(5);
	}
	filters.put(extension.toLowerCase(), this);
	fullDescription = null;
    
public java.lang.StringgetDescription()
Returns the human readable description of this filter. For example: "JPEG and GIF Image Files (*.jpg, *.gif)"

see
setDescription
see
setExtensionListInDescription
see
isExtensionListInDescription
see
FileFilter#getDescription

	if(fullDescription == null) {
	    if(description == null || isExtensionListInDescription()) {
 		fullDescription = description==null ? "(" : description + " (";
		// build the description from the extension list
		Enumeration extensions = filters.keys();
		if(extensions != null) {
		    fullDescription += "." + (String) extensions.nextElement();
		    while (extensions.hasMoreElements()) {
			fullDescription += ", ." + (String) extensions.nextElement();
		    }
		}
		fullDescription += ")";
	    } else {
		fullDescription = description;
	    }
	}
	return fullDescription;
    
public java.lang.StringgetExtension(java.io.File f)
Return the extension portion of the file's name .

see
#getExtension
see
FileFilter#accept

	if(f != null) {
	    String filename = f.getName();
	    int i = filename.lastIndexOf('.");
	    if(i>0 && i<filename.length()-1) {
		return filename.substring(i+1).toLowerCase();
	    };
	}
	return null;
    
public booleanisExtensionListInDescription()
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();

see
getDescription
see
setDescription
see
setExtensionListInDescription

	return useExtensionsInDescription;
    
public voidsetDescription(java.lang.String description)
Sets the human readable description of this filter. For example: filter.setDescription("Gif and JPG Images");

see
setDescription
see
setExtensionListInDescription
see
isExtensionListInDescription

	this.description = description;
	fullDescription = null;
    
public voidsetExtensionListInDescription(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();

see
getDescription
see
setDescription
see
isExtensionListInDescription

	useExtensionsInDescription = b;
	fullDescription = null;