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
Modifier and Type
Class
Description
`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
Modifier and Type
Field
Description
`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
Constructor
Description
`BasicFileChooserUI(JFileChooser b)`
Constructs a `BasicFileChooserUI`.

## Method Summary

Modifier and Type
Method
Description
`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.
`void`
`ensureFileIsVisible(JFileChooser fc, File f)`
Ensure the file in question is visible.
`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`
`getApproveButtonText(JFileChooser fc)`
Returns approve button text.
`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.
`FileView`
`getFileView(JFileChooser fc)`
Returns a file view.
`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.
`void`
`rescanCurrentDirectory(JFileChooser fc)`
Rescan the current directory.
`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

`getDefaultButton`

### 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 Details

### 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 Details

### BasicFileChooserUI

public BasicFileChooserUI(JFileChooser b)
Constructs a `BasicFileChooserUI`.

Parameters:
  `b` - file chooser

## Method Details

### 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

### rescanCurrentDirectory

public void rescanCurrentDirectory(JFileChooser fc)
Rescan the current directory.

Specified by:
  `rescanCurrentDirectory` in class `FileChooserUI`
Parameters:
  `fc` - the file chooser

### ensureFileIsVisible

public void ensureFileIsVisible(JFileChooser fc, File f)
Ensure the file in question is visible.

Specified by:
  `ensureFileIsVisible` in class `FileChooserUI`
Parameters:
  `fc` - the file chooser
  `f` - the file

### 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

### getFileView

public FileView getFileView(JFileChooser fc)
Description copied from class: `FileChooserUI`
Returns a file view.

Specified by:
  `getFileView` in class `FileChooserUI`
Parameters:
  `fc` - the file chooser
Returns:
  a file view

### 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

### getApproveButtonText

public String getApproveButtonText(JFileChooser fc)
Returns approve button text.

Specified by:
  `getApproveButtonText` in class `FileChooserUI`
Parameters:
  `fc` - the file chooser
Returns:
  approve button text.

### 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