Module java.desktop
Package javax.swing.plaf.basic

## Class BasicFileChooserUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.FileChooserUI
    - - javax.swing.plaf.basic.BasicFileChooserUI

Direct Known Subclasses:
  `MetalFileChooserUI`

    public class BasicFileChooserUI
    extends FileChooserUI

Basic L&F implementation of a FileChooser.

### Nested Class Summary

Nested Classes
`protected class` `BasicFileChooserUI.AcceptAllFileFilter` Accept all file filter.
`protected class` `BasicFileChooserUI.ApproveSelectionAction` Responds to an Open or Save request
`protected class` `BasicFileChooserUI.BasicFileView` A basic file view.
`protected class` `BasicFileChooserUI.CancelSelectionAction` Responds to a cancel request.
`protected class` `BasicFileChooserUI.ChangeToParentDirectoryAction` Change to parent directory action.
`protected class` `BasicFileChooserUI.DoubleClickListener` A double click listener.
`protected class` `BasicFileChooserUI.GoHomeAction` Acts on the "home" key event or equivalent event.
`protected class` `BasicFileChooserUI.NewFolderAction` Creates a new folder.
`protected class` `BasicFileChooserUI.SelectionListener` A selection listener.
`protected class` `BasicFileChooserUI.UpdateAction` Rescans the files in the current directory

### Field Summary

Fields
`protected int` `cancelButtonMnemonic` Cancel button mnemonic
`protected String` `cancelButtonText` Cancel button text
`protected String` `cancelButtonToolTipText` Cancel button tool tip text
`protected Icon` `computerIcon` Computer icon
`protected Icon` `detailsViewIcon` Details view icon
`protected Icon` `directoryIcon` Directory icon
`protected int` `directoryOpenButtonMnemonic` The mnemonic keycode used for the approve button when a directory is selected and the current selection mode is FILES_ONLY.
`protected String` `directoryOpenButtonText` The label text displayed on the approve button when a directory is selected and the current selection mode is FILES_ONLY.
`protected String` `directoryOpenButtonToolTipText` The tooltip text displayed on the approve button when a directory is selected and the current selection mode is FILES_ONLY.
`protected Icon` `fileIcon` File icon
`protected Icon` `floppyDriveIcon` Floppy drive icon
`protected Icon` `hardDriveIcon` Hard drive icon
`protected int` `helpButtonMnemonic` Help button mnemonic
`protected String` `helpButtonText` Help button text
`protected String` `helpButtonToolTipText` Help button tool tip text
`protected Icon` `homeFolderIcon` Home folder icon
`protected Icon` `listViewIcon` List view icon
`protected Icon` `newFolderIcon` New folder icon
`protected int` `openButtonMnemonic` Open button mnemonic
`protected String` `openButtonText` Open button text
`protected String` `openButtonToolTipText` Open button tool tip text
`protected int` `saveButtonMnemonic` Save button mnemonic
`protected String` `saveButtonText` Save button text
`protected String` `saveButtonToolTipText` Save button tool tip text
`protected int` `updateButtonMnemonic` Update button mnemonic
`protected String` `updateButtonText` Update button text
`protected String` `updateButtonToolTipText` Update button tool tip text
`protected Icon` `upFolderIcon` Up folder icon
`protected Icon` `viewMenuIcon` View menu icon

### Constructor Summary

Constructors
`BasicFileChooserUI​(JFileChooser b)` Constructs a `BasicFileChooserUI`.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `clearIconCache()` Clears the icon cache.
`protected MouseListener` `createDoubleClickListener​(JFileChooser fc, JList<?> list)` Creates a double click listener.
`ListSelectionListener` `createListSelectionListener​(JFileChooser fc)` Creates a list selection listener.
`protected void` `createModel()` Creates the model.
`PropertyChangeListener` `createPropertyChangeListener​(JFileChooser fc)` Creates the property change listener.
`static ComponentUI` `createUI​(JComponent c)` Creates a `BasicFileChooserUI` implementation for the specified component.
`FileFilter` `getAcceptAllFileFilter​(JFileChooser fc)` Returns the default accept all file filter
`JPanel` `getAccessoryPanel()` Returns the accessory panel.
`protected JButton` `getApproveButton​(JFileChooser fc)` Returns the approve button.
`int` `getApproveButtonMnemonic​(JFileChooser fc)` Returns the approve button mnemonic.
`String` `getApproveButtonToolTipText​(JFileChooser fc)` Returns the approve button tool tip.
`Action` `getApproveSelectionAction()` Returns an approve selection action.
`Action` `getCancelSelectionAction()` Returns a cancel selection action.
`Action` `getChangeToParentDirectoryAction()` Returns a change to parent directory action.
`String` `getDialogTitle​(JFileChooser fc)` Returns the title of this dialog
`protected File` `getDirectory()` Property to remember the directory that is currently selected in the UI.
`String` `getDirectoryName()` Returns the directory name.
`JFileChooser` `getFileChooser()` Returns the file chooser.
`String` `getFileName()` Returns the file name.
`Action` `getGoHomeAction()` Returns a go home action.
`BasicDirectoryModel` `getModel()` Returns the model.
`Action` `getNewFolderAction()` Returns a new folder action.
`Action` `getUpdateAction()` Returns an update action.
`void` `installComponents​(JFileChooser fc)` Installs the components.
`protected void` `installDefaults​(JFileChooser fc)` Installs the defaults.
`protected void` `installIcons​(JFileChooser fc)` Installs the icons.
`protected void` `installListeners​(JFileChooser fc)` Installs the listeners.
`protected void` `installStrings​(JFileChooser fc)` Installs the strings.
`void` `installUI​(JComponent c)` Installs the UI.
`protected boolean` `isDirectorySelected()` Property to remember whether a directory is currently selected in the UI.
`protected void` `setDirectory​(File f)` Property to remember the directory that is currently selected in the UI.
`void` `setDirectoryName​(String dirname)` Sets the directory name.
`protected void` `setDirectorySelected​(boolean b)` Property to remember whether a directory is currently selected in the UI.
`void` `setFileName​(String filename)` Sets the file name.
`void` `uninstallComponents​(JFileChooser fc)` Uninstalls the components.
`protected void` `uninstallDefaults​(JFileChooser fc)` Uninstalls the defaults.
`protected void` `uninstallIcons​(JFileChooser fc)` Uninstalls the icons.
`protected void` `uninstallListeners​(JFileChooser fc)` Uninstalls the listeners.
`protected void` `uninstallStrings​(JFileChooser fc)` Uninstalls the strings.
`void` `uninstallUI​(JComponent c)` Uninstalls the UI.

### Methods declared in class javax.swing.plaf.FileChooserUI

`ensureFileIsVisible, getApproveButtonText, getDefaultButton, getFileView, rescanCurrentDirectory`

### Methods declared in class javax.swing.plaf.ComponentUI

`contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, paint, update`

### Methods declared in class java.lang.Object

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

### Field Detail

#### directoryIcon

    protected Icon directoryIcon

Directory icon

#### fileIcon

    protected Icon fileIcon

File icon

#### computerIcon

    protected Icon computerIcon

Computer icon

#### hardDriveIcon

    protected Icon hardDriveIcon

Hard drive icon

#### floppyDriveIcon

    protected Icon floppyDriveIcon

Floppy drive icon

#### newFolderIcon

    protected Icon newFolderIcon

New folder icon

#### upFolderIcon

    protected Icon upFolderIcon

Up folder icon

#### homeFolderIcon

    protected Icon homeFolderIcon

Home folder icon

#### listViewIcon

    protected Icon listViewIcon

List view icon

#### detailsViewIcon

    protected Icon detailsViewIcon

Details view icon

#### viewMenuIcon

    protected Icon viewMenuIcon

View menu icon

#### saveButtonMnemonic

    protected int saveButtonMnemonic

Save button mnemonic

#### openButtonMnemonic

    protected int openButtonMnemonic

Open button mnemonic

#### cancelButtonMnemonic

    protected int cancelButtonMnemonic

Cancel button mnemonic

#### updateButtonMnemonic

    protected int updateButtonMnemonic

Update button mnemonic

#### helpButtonMnemonic

    protected int helpButtonMnemonic

Help button mnemonic

#### directoryOpenButtonMnemonic

    protected int directoryOpenButtonMnemonic

The mnemonic keycode used for the approve button when a directory is selected and the current selection mode is FILES_ONLY.

Since:
  1.4

#### saveButtonText

    protected String saveButtonText

Save button text

#### openButtonText

    protected String openButtonText

Open button text

#### cancelButtonText

    protected String cancelButtonText

Cancel button text

#### updateButtonText

    protected String updateButtonText

Update button text

#### helpButtonText

    protected String helpButtonText

Help button text

#### directoryOpenButtonText

    protected String directoryOpenButtonText

The label text displayed on the approve button when a directory is selected and the current selection mode is FILES_ONLY.

Since:
  1.4

#### saveButtonToolTipText

    protected String saveButtonToolTipText

Save button tool tip text

#### openButtonToolTipText

    protected String openButtonToolTipText

Open button tool tip text

#### cancelButtonToolTipText

    protected String cancelButtonToolTipText

Cancel button tool tip text

#### updateButtonToolTipText

    protected String updateButtonToolTipText

Update button tool tip text

#### helpButtonToolTipText

    protected String helpButtonToolTipText

Help button tool tip text

#### directoryOpenButtonToolTipText

    protected String directoryOpenButtonToolTipText

The tooltip text displayed on the approve button when a directory is selected and the current selection mode is FILES_ONLY.

Since:
  1.4

### Constructor Detail

#### BasicFileChooserUI

    public BasicFileChooserUI​(JFileChooser b)

Constructs a `BasicFileChooserUI`.

Parameters:
  `b` - file chooser

### Method Detail

#### createUI

    public static ComponentUI createUI​(JComponent c)

Creates a `BasicFileChooserUI` implementation for the specified component. By default the `BasicLookAndFeel` class uses `createUI` methods of all basic UIs classes to instantiate UIs.

Parameters:
  `c` - the `JFileChooser` which needs a UI
Returns:
  the `BasicFileChooserUI` object
Since:
  1.7
See Also:
  `UIDefaults.getUI(JComponent)`

#### installUI

    public void installUI​(JComponent c)

Installs the UI.

Overrides:
  `installUI` in class `ComponentUI`
Parameters:
  `c` - the component
See Also:
  `ComponentUI.uninstallUI(javax.swing.JComponent)`, `JComponent.setUI(javax.swing.plaf.ComponentUI)`, `JComponent.updateUI()`

#### uninstallUI

    public void uninstallUI​(JComponent c)

Uninstalls the UI.

Overrides:
  `uninstallUI` in class `ComponentUI`
Parameters:
  `c` - the component
See Also:
  `ComponentUI.installUI(javax.swing.JComponent)`, `JComponent.updateUI()`

#### installComponents

    public void installComponents​(JFileChooser fc)

Installs the components.

Parameters:
  `fc` - the file chooser

#### uninstallComponents

    public void uninstallComponents​(JFileChooser fc)

Uninstalls the components.

Parameters:
  `fc` - the file chooser

#### installListeners

    protected void installListeners​(JFileChooser fc)

Installs the listeners.

Parameters:
  `fc` - the file chooser

#### uninstallListeners

    protected void uninstallListeners​(JFileChooser fc)

Uninstalls the listeners.

Parameters:
  `fc` - the file chooser

#### installDefaults

    protected void installDefaults​(JFileChooser fc)

Installs the defaults.

Parameters:
  `fc` - the file chooser

#### installIcons

    protected void installIcons​(JFileChooser fc)

Installs the icons.

Parameters:
  `fc` - the file chooser

#### installStrings

    protected void installStrings​(JFileChooser fc)

Installs the strings.

Parameters:
  `fc` - the file chooser

#### uninstallDefaults

    protected void uninstallDefaults​(JFileChooser fc)

Uninstalls the defaults.

Parameters:
  `fc` - the file chooser

#### uninstallIcons

    protected void uninstallIcons​(JFileChooser fc)

Uninstalls the icons.

Parameters:
  `fc` - the file chooser

#### uninstallStrings

    protected void uninstallStrings​(JFileChooser fc)

Uninstalls the strings.

Parameters:
  `fc` - the file chooser

#### createModel

    protected void createModel()

Creates the model.

#### getModel

    public BasicDirectoryModel getModel()

Returns the model.

Returns:
  the model

#### createPropertyChangeListener

    public PropertyChangeListener createPropertyChangeListener​(JFileChooser fc)

Creates the property change listener.

Parameters:
  `fc` - the file chooser
Returns:
  the property change listener

#### getFileName

    public String getFileName()

Returns the file name.

Returns:
  the file name

#### getDirectoryName

    public String getDirectoryName()

Returns the directory name.

Returns:
  the directory name

#### setFileName

    public void setFileName​(String filename)

Sets the file name.

Parameters:
  `filename` - the file name

#### setDirectoryName

    public void setDirectoryName​(String dirname)

Sets the directory name.

Parameters:
  `dirname` - the file name

#### getFileChooser

    public JFileChooser getFileChooser()

Returns the file chooser.

Returns:
  the file chooser

#### getAccessoryPanel

    public JPanel getAccessoryPanel()

Returns the accessory panel.

Returns:
  the accessory panel

#### getApproveButton

    protected JButton getApproveButton​(JFileChooser fc)

Returns the approve button.

Parameters:
  `fc` - the file chooser
Returns:
  the approve button

#### getApproveButtonToolTipText

    public String getApproveButtonToolTipText​(JFileChooser fc)

Returns the approve button tool tip.

Parameters:
  `fc` - the file chooser
Returns:
  the approve button tool tip

#### clearIconCache

    public void clearIconCache()

Clears the icon cache.

#### createDoubleClickListener

    protected MouseListener createDoubleClickListener​(JFileChooser fc,
                                                      JList<?> list)

Creates a double click listener.

Parameters:
  `fc` - the file chooser
  `list` - the list
Returns:
  a double click listener

#### createListSelectionListener

    public ListSelectionListener createListSelectionListener​(JFileChooser fc)

Creates a list selection listener.

Parameters:
  `fc` - the file chooser
Returns:
  a list selection listener

#### isDirectorySelected

    protected boolean isDirectorySelected()

Property to remember whether a directory is currently selected in the UI.

Returns:
  `true` iff a directory is currently selected.
Since:
  1.4

#### setDirectorySelected

    protected void setDirectorySelected​(boolean b)

Property to remember whether a directory is currently selected in the UI. This is normally called by the UI on a selection event.

Parameters:
  `b` - iff a directory is currently selected.
Since:
  1.4

#### getDirectory

    protected File getDirectory()

Property to remember the directory that is currently selected in the UI.

Returns:
  the value of the `directory` property
Since:
  1.4
See Also:
  `setDirectory(java.io.File)`

#### setDirectory

    protected void setDirectory​(File f)

Property to remember the directory that is currently selected in the UI. This is normally called by the UI on a selection event.

Parameters:
  `f` - the `File` object representing the directory that is currently selected
Since:
  1.4

#### getAcceptAllFileFilter

    public FileFilter getAcceptAllFileFilter​(JFileChooser fc)

Returns the default accept all file filter

Specified by:
  `getAcceptAllFileFilter` in class `FileChooserUI`
Parameters:
  `fc` - the file chooser
Returns:
  an accept-all file filter

#### getDialogTitle

    public String getDialogTitle​(JFileChooser fc)

Returns the title of this dialog

Specified by:
  `getDialogTitle` in class `FileChooserUI`
Parameters:
  `fc` - the file chooser
Returns:
  the title of this dialog

#### getApproveButtonMnemonic

    public int getApproveButtonMnemonic​(JFileChooser fc)

Returns the approve button mnemonic.

Parameters:
  `fc` - the file chooser
Returns:
  the approve button mnemonic

#### getNewFolderAction

    public Action getNewFolderAction()

Returns a new folder action.

Returns:
  a new folder action

#### getGoHomeAction

    public Action getGoHomeAction()

Returns a go home action.

Returns:
  a go home action

#### getChangeToParentDirectoryAction

    public Action getChangeToParentDirectoryAction()

Returns a change to parent directory action.

Returns:
  a change to parent directory action

#### getApproveSelectionAction

    public Action getApproveSelectionAction()

Returns an approve selection action.

Returns:
  an approve selection action

#### getCancelSelectionAction

    public Action getCancelSelectionAction()

Returns a cancel selection action.

Returns:
  a cancel selection action

#### getUpdateAction

    public Action getUpdateAction()

Returns an update action.

Returns:
  an update action