javax.swing.filechooser

## Class FileFilter

- java.lang.Object
- - javax.swing.filechooser.FileFilter

- Direct Known Subclasses:
    BasicFileChooserUI.AcceptAllFileFilter, FileNameExtensionFilter

      public abstract class FileFilter
      extends Object

  `FileFilter` is an abstract class used by `JFileChooser` for filtering the set of files shown to the user. See `FileNameExtensionFilter` for an implementation that filters using the file name extension.

  A `FileFilter` can be set on a `JFileChooser` to keep unwanted files from appearing in the directory listing. For an example implementation of a simple file filter, see `yourJDK/demo/jfc/FileChooserDemo/ExampleFileFilter.java`. For more information and examples see How to Use File Choosers, a section in The Java Tutorial.

  See Also:
    `FileNameExtensionFilter`, `JFileChooser.setFileFilter(javax.swing.filechooser.FileFilter)`, `JFileChooser.addChoosableFileFilter(javax.swing.filechooser.FileFilter)`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FileFilter()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract boolean` | `accept(File f)` | Whether the given file is accepted by this filter.
    `abstract String` | `getDescription()` | The description of this filter.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FileFilter

          public FileFilter()

  - ### Method Detail

    - #### accept

          public abstract boolean accept(File f)

      Whether the given file is accepted by this filter.

    - #### getDescription

          public abstract String getDescription()

      The description of this filter. For example: "JPG and GIF Images"
      See Also:
        `FileView.getName(java.io.File)`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.