Java Notes
javax.swing.filechooser.FileFilter
See File Filters.By default, a file chooser shows all user files and directories in a file chooser dialog, with the exception of "hidden" files in Unix (those starting with a '.').
To create a custom file filter to show only specific files in a file chooser dialog, subclass
javax.swing.filechooser.FileFilter
and use this with the chooser (see
JFileChooser).
Because there is an interface (
java.io.FileFilter) and a
class (javax.swing.filechooser.FileFilter),
use the fully qualified name to prevent conflicts
in any code that also includes java.io.*.
Creating a chooser FileFilter
Create a class that extendsjavax.swing.filechooser.FileFilter,
and define two methods:
accept and getDescription.
For example, to create a filter that will show all directories and only
files that end with ".sql",
class SQLfilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File f) {
return f.isDirectory() || f.getName().toLowerCase().endsWith(".sql");
}
public String getDescription() {
return "SQL files";
}
}
This example defines the two required methods. Always
accept directories so that the user can navigate around the file system.
Setting a FileFilter
Call the JFileChooser'ssetFileFilter method.
To use the filter from the example above:
JFileChooser chooser = new JFileChooser(); chooser.setFileFilter(new SQLfilter()); chooser.showOpenDialog(null);