javax.swing

Class JFileChooser

Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, Serializable

public class JFileChooser
extends JComponent
implements Accessible

A component that provides the user a dialog box to browse through a filesystem and choose one or more files or directories. A JFileChooser can be configured to filter the displayed file list by adding a FileFilter instance using addChoosableFileFilter(FileFilter). Additional components can be embedded in the file chooser using setAccessory(JComponent). The JFileChooser properties also provide mechanisms to customize the behaviour of the file chooser.
See Also:
Serialized Form

Nested Class Summary

protected class
JFileChooser.AccessibleJFileChooser
Provides the accessibility features for the JFileChooser component.

Nested classes/interfaces inherited from class javax.swing.JComponent

JComponent.AccessibleJComponent

Nested classes/interfaces inherited from class java.awt.Container

Container.AccessibleAWTContainer

Nested classes/interfaces inherited from class java.awt.Component

Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy

Field Summary

static String
ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY
The name of the 'accept all file filter used' property.
static String
ACCESSORY_CHANGED_PROPERTY
The name of the 'accessory' property.
static String
APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY
The name of the property for the approve button mnemonic.
static String
APPROVE_BUTTON_TEXT_CHANGED_PROPERTY
The name of the property for the approve button text.
static String
APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY
The name of the property for the approve button tool tip text.
static int
APPROVE_OPTION
A return value indicating the file chooser has been closed by approving the selection.
static String
APPROVE_SELECTION
Action command string for approving the current selection.
static int
CANCEL_OPTION
A return value indicating the file chooser has been closed by cancelling.
static String
CANCEL_SELECTION
Action command string for cancelling the current selection.
static String
CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY
The name of the 'choosable file filters' property.
static String
CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY
The name of the property for control button visibility.
static int
CUSTOM_DIALOG
A dialog type for some custom purpose.
static String
DIALOG_TITLE_CHANGED_PROPERTY
The name of the 'dialog title' property.
static String
DIALOG_TYPE_CHANGED_PROPERTY
The name of the 'dialog type' property.
static int
DIRECTORIES_ONLY
A selection mode constant indicating acceptance of directories only.
static String
DIRECTORY_CHANGED_PROPERTY
The name of the property for the current directory.
static int
ERROR_OPTION
A return value indicating the file chooser has been closed by some error.
static int
FILES_AND_DIRECTORIES
A selection mode constant indicating acceptance of files and directories.
static int
FILES_ONLY
A selection mode constant indicating acceptance of files only.
static String
FILE_FILTER_CHANGED_PROPERTY
The name of the 'file filter' property.
static String
FILE_HIDING_CHANGED_PROPERTY
The name of the 'file hiding enabled' property.
static String
FILE_SELECTION_MODE_CHANGED_PROPERTY
The name of the 'file selection mode' property.
static String
FILE_SYSTEM_VIEW_CHANGED_PROPERTY
The name of the 'file system view' property.
static String
FILE_VIEW_CHANGED_PROPERTY
The name of the 'file view' property.
static String
MULTI_SELECTION_ENABLED_CHANGED_PROPERTY
The name of the property for multi-selection.
static int
OPEN_DIALOG
A dialog type for selecting a file to open.
static int
SAVE_DIALOG
A dialog type for selecting a file to save.
static String
SELECTED_FILES_CHANGED_PROPERTY
The name of the property for the selected files.
static String
SELECTED_FILE_CHANGED_PROPERTY
The name of the property for the selected file.
protected AccessibleContext
accessibleContext
The accessible context.

Fields inherited from class javax.swing.JComponent

TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, accessibleContext, listenerList, ui

Fields inherited from class java.awt.Component

BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Fields inherited from interface java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Constructor Summary

JFileChooser()
Creates a new JFileChooser object.
JFileChooser(File currentDirectory)
Creates a new JFileChooser object.
JFileChooser(File currentDirectory, FileSystemView fsv)
Creates a new JFileChooser object.
JFileChooser(String currentDirectoryPath)
Creates a new JFileChooser object.
JFileChooser(String currentDirectoryPath, FileSystemView fsv)
Creates a new JFileChooser object with the specified directory and FileSystemView.
JFileChooser(FileSystemView fsv)
Creates a new JFileChooser object.

Method Summary

boolean
accept(File f)
Returns true if the file is accepted by the current file filter.
void
addActionListener(ActionListener l)
Adds an ActionListener to the file chooser.
void
addChoosableFileFilter(FileFilter filter)
Adds a file filter to the list of available filters and sends a PropertyChangeEvent (with the property name CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY) to all registered listeners.
void
approveSelection()
Approves the selection.
void
cancelSelection()
Cancels the selection.
void
changeToParentDirectory()
Called by the UI delegate when the parent directory is changed.
protected JDialog
createDialog(Component parent)
Creates a modal dialog in which to display the file chooser.
void
ensureFileIsVisible(File f)
Ensures the the specified file is visible (this is handled by the UI delegate).
protected void
fireActionPerformed(String command)
Sends an @link {ActionEvent} to all registered listeners.
FileFilter
getAcceptAllFileFilter()
Returns the 'accept all' file filter from the UI delegate.
AccessibleContext
getAccessibleContext()
Returns the object that provides accessibility features for this JFileChooser component.
JComponent
getAccessory()
Returns the accessory component for the file chooser.
ActionListener[]
getActionListeners()
Returns the action listeners registered with this file chooser.
int
getApproveButtonMnemonic()
Returns the approve button mnemonic, or zero if no mnemonic has been set.
String
getApproveButtonText()
Returns the approve button text.
String
getApproveButtonToolTipText()
Returns the tool tip text for the approve button.
FileFilter[]
getChoosableFileFilters()
Returns the available file filters for this file chooser.
boolean
getControlButtonsAreShown()
Returns the flag that controls whether or not the control buttons are shown on the file chooser.
File
getCurrentDirectory()
Returns the current directory.
String
getDescription(File f)
Returns the description of the file, generated by the current (or default) FileView.
String
getDialogTitle()
Returns the dialog title.
int
getDialogType()
Returns the type of file chooser.
boolean
getDragEnabled()
Returns true if dragging is enabled.
FileFilter
getFileFilter()
Returns the file filter.
int
getFileSelectionMode()
Returns the file selection mode, one of: FILES_ONLY, DIRECTORIES_ONLY or FILES_AND_DIRECTORIES.
FileSystemView
getFileSystemView()
Returns the file system view being used by this file chooser.
FileView
getFileView()
Returns the custom FileView for the file chooser.
Icon
getIcon(File f)
Returns the icon provided by the current (or default) FileView.
String
getName(File f)
Returns the name of the file, generated by the current (or default) FileView.
File
getSelectedFile()
Returns the selected file, if there is one.
File[]
getSelectedFiles()
Returns the selected file or files in an array.
String
getTypeDescription(File f)
Returns the type description for the file, generated by the current (or default) FileView.
FileChooserUI
getUI()
Returns the UI delegate for the component.
String
getUIClassID()
Returns the UI delegate class identifier.
boolean
isAcceptAllFileFilterUsed()
Returns the flag that controls whether or not the 'accept all' file filter is included in the list of filters.
boolean
isDirectorySelectionEnabled()
Returns true if directory selection is enabled, and false otherwise.
boolean
isFileHidingEnabled()
Returns true if hidden files are to be hidden, and false otherwise.
boolean
isFileSelectionEnabled()
Returns true if file selection is enabled, and false otherwise.
boolean
isMultiSelectionEnabled()
Returns true if multiple selections are allowed within this file chooser, and false otherwise.
boolean
isTraversable(File f)
Returns true if the file is traversable, and false otherwise.
protected String
paramString()
Returns a string describing the attributes for the JFileChooser component, for use in debugging.
void
removeActionListener(ActionListener l)
Removes an ActionListener from this file chooser.
boolean
removeChoosableFileFilter(FileFilter f)
Removes a file filter from the list of available filters and sends a PropertyChangeEvent (with the property name CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY) to all registered listeners.
void
rescanCurrentDirectory()
Rescans the current directory (this is handled by the UI delegate).
void
resetChoosableFileFilters()
Clears the list of choosable file filters and installs the 'accept all' filter from the UI delegate.
void
setAcceptAllFileFilterUsed(boolean b)
Sets the flag that controls whether or not the 'accept all' file filter is included in the list of filters, and sends a PropertyChangeEvent (with the property name ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY) to all registered listeners.
void
setAccessory(JComponent newAccessory)
Sets the accessory component for the file chooser and sends a PropertyChangeEvent to all registered listeners.
void
setApproveButtonMnemonic(char mnemonic)
Sets the mnemonic for the approve button and sends a PropertyChangeEvent (with the property name APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY) to all registered listeners.
void
setApproveButtonMnemonic(int mnemonic)
Sets the mnemonic for the approve button and sends a PropertyChangeEvent (with the property name APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY) to all registered listeners.
void
setApproveButtonText(String approveButtonText)
Sets the approve button text and fires a PropertyChangeEvent (with the property name APPROVE_BUTTON_TEXT_CHANGED_PROPERTY) to all registered listeners.
void
setApproveButtonToolTipText(String toolTipText)
Sets the tool tip text for the approve button and sends a PropertyChangeEvent (with the property name APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY) to all registered listeners.
void
setControlButtonsAreShown(boolean b)
Sets the flag that controls whether or not the control buttons are shown and, if it changes, sends a PropertyChangeEvent (with the property name CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY) to all registered listeners.
void
setCurrentDirectory(File dir)
Sets the current directory and fires a PropertyChangeEvent (with the property name DIRECTORY_CHANGED_PROPERTY) to all registered listeners.
void
setDialogTitle(String dialogTitle)
Sets the dialog title and sends a PropertyChangeEvent (with the property name DIALOG_TITLE_CHANGED_PROPERTY) to all registered listeners.
void
setDialogType(int dialogType)
Sets the dialog type and fires a PropertyChangeEvent (with the property name DIALOG_TYPE_CHANGED_PROPERTY) to all registered listeners.
void
setDragEnabled(boolean b)
Sets the dragEnabled property, this disables/enables automatic drag handling (drag and drop) on this component.
void
setFileFilter(FileFilter filter)
Sets the file filter and sends a PropertyChangeEvent (with the property name FILE_FILTER_CHANGED_PROPERTY) to all registered listeners.
void
setFileHidingEnabled(boolean b)
Sets the flag that controls whether or not hidden files are displayed, and sends a PropertyChangeEvent (with the property name FILE_HIDING_CHANGED_PROPERTY) to all registered listeners.
void
setFileSelectionMode(int mode)
Sets the file selection mode and sends a PropertyChangeEvent to all registered listeners.
void
setFileSystemView(FileSystemView fsv)
Sets the file system view for the file chooser and sends a PropertyChangeEvent to all registered listeners.
void
setFileView(FileView fileView)
Sets a custom FileView for the file chooser and sends a PropertyChangeEvent to all registered listeners.
void
setMultiSelectionEnabled(boolean b)
Sets the flag that controls whether multiple selections are allowed in this filechooser and sends a PropertyChangeEvent (with the property name MULTI_SELECTION_ENABLED_CHANGED_PROPERTY) to all registered listeners.
void
setSelectedFile(File file)
Sets the selected file and sends a PropertyChangeEvent to all registered listeners.
void
setSelectedFiles(File[] selectedFiles)
Sets the selected files and sends a PropertyChangeEvent (with the name SELECTED_FILES_CHANGED_PROPERTY) to all registered listeners.
protected void
setup(FileSystemView view)
Sets up the file chooser.
int
showDialog(Component parent, String approveButtonText)
Displays the file chooser in a modal dialog using the CUSTOM_DIALOG type.
int
showOpenDialog(Component parent)
Displays the file chooser in a modal dialog using the OPEN_DIALOG type.
int
showSaveDialog(Component parent)
Displays the file chooser in a modal dialog using the SAVE_DIALOG type.
void
updateUI()
Installs the UI delegate for the current look and feel.

Methods inherited from class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI

Methods inherited from class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, extends EventListener> T[] getListeners, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponentZOrder, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree

Methods inherited from class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFocusable, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY

public static final String ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY
The name of the 'accept all file filter used' property.
Field Value:
"acceptAllFileFilterUsedChanged"

ACCESSORY_CHANGED_PROPERTY

public static final String ACCESSORY_CHANGED_PROPERTY
The name of the 'accessory' property.
Field Value:
"AccessoryChangedProperty"

APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY

public static final String APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY
The name of the property for the approve button mnemonic.
Field Value:
"ApproveButtonMnemonicChangedProperty"

APPROVE_BUTTON_TEXT_CHANGED_PROPERTY

public static final String APPROVE_BUTTON_TEXT_CHANGED_PROPERTY
The name of the property for the approve button text.
Field Value:
"ApproveButtonTextChangedProperty"

APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY

public static final String APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY
The name of the property for the approve button tool tip text.
Field Value:
"ApproveButtonToolTipTextChangedProperty"