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`
`protected class` `BasicFileChooserUI.ApproveSelectionAction` Responds to an Open or Save request
`protected class` `BasicFileChooserUI.BasicFileView`
`protected class` `BasicFileChooserUI.CancelSelectionAction` Responds to a cancel request.
`protected class` `BasicFileChooserUI.ChangeToParentDirectoryAction`
`protected class` `BasicFileChooserUI.DoubleClickListener`
`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`
`protected class` `BasicFileChooserUI.UpdateAction` Rescans the files in the current directory

### Field Summary

Fields
`protected int` `cancelButtonMnemonic`
`protected String` `cancelButtonText`
`protected String` `cancelButtonToolTipText`
`protected Icon` `computerIcon`
`protected Icon` `detailsViewIcon`
`protected Icon` `directoryIcon`
`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`
`protected Icon` `floppyDriveIcon`
`protected Icon` `hardDriveIcon`
`protected int` `helpButtonMnemonic`
`protected String` `helpButtonText`
`protected String` `helpButtonToolTipText`
`protected Icon` `homeFolderIcon`
`protected Icon` `listViewIcon`
`protected Icon` `newFolderIcon`
`protected int` `openButtonMnemonic`
`protected String` `openButtonText`
`protected String` `openButtonToolTipText`
`protected int` `saveButtonMnemonic`
`protected String` `saveButtonText`
`protected String` `saveButtonToolTipText`
`protected int` `updateButtonMnemonic`
`protected String` `updateButtonText`
`protected String` `updateButtonToolTipText`
`protected Icon` `upFolderIcon`
`protected Icon` `viewMenuIcon`

### Constructor Summary

Constructors
Constructor and Description
`BasicFileChooserUI(JFileChooser b)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `clearIconCache()`
`protected MouseListener` `createDoubleClickListener(JFileChooser fc, JList list)`
`ListSelectionListener` `createListSelectionListener(JFileChooser fc)`
`protected void` `createModel()`
`PropertyChangeListener` `createPropertyChangeListener(JFileChooser fc)`
`static ComponentUI` `createUI(JComponent c)` Creates a `BasicFileChooserUI` implementation for the specified component.
`void` `ensureFileIsVisible(JFileChooser fc, File f)`
`FileFilter` `getAcceptAllFileFilter(JFileChooser fc)` Returns the default accept all file filter
`JPanel` `getAccessoryPanel()`
`protected JButton` `getApproveButton(JFileChooser fc)`
`int` `getApproveButtonMnemonic(JFileChooser fc)`
`String` `getApproveButtonText(JFileChooser fc)`
`String` `getApproveButtonToolTipText(JFileChooser fc)`
`Action` `getApproveSelectionAction()`
`Action` `getCancelSelectionAction()`
`Action` `getChangeToParentDirectoryAction()`
`JButton` `getDefaultButton(JFileChooser fc)` Returns default button for current `LookAndFeel`.
`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()`
`JFileChooser` `getFileChooser()`
`String` `getFileName()`
`FileView` `getFileView(JFileChooser fc)`
`Action` `getGoHomeAction()`
`BasicDirectoryModel` `getModel()`
`Action` `getNewFolderAction()`
`Action` `getUpdateAction()`
`void` `installComponents(JFileChooser fc)`
`protected void` `installDefaults(JFileChooser fc)`
`protected void` `installIcons(JFileChooser fc)`
`protected void` `installListeners(JFileChooser fc)`
`protected void` `installStrings(JFileChooser fc)`
`void` `installUI(JComponent c)` Configures the specified component appropriately for the look and feel.
`protected boolean` `isDirectorySelected()` Property to remember whether a directory is currently selected in the UI.
`void` `rescanCurrentDirectory(JFileChooser fc)`
`protected void` `setDirectory(File f)` Property to remember the directory that is currently selected in the UI.
`void` `setDirectoryName(String dirname)`
`protected void` `setDirectorySelected(boolean b)` Property to remember whether a directory is currently selected in the UI.
`void` `setFileName(String filename)`
`void` `uninstallComponents(JFileChooser fc)`
`protected void` `uninstallDefaults(JFileChooser fc)`
`protected void` `uninstallIcons(JFileChooser fc)`
`protected void` `uninstallListeners(JFileChooser fc)`
`protected void` `uninstallStrings(JFileChooser fc)`
`void` `uninstallUI(JComponent c)` Reverses configuration which was done on the specified component during `installUI`.

### Methods inherited from class javax.swing.plaf.ComponentUI

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

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

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

### Field Detail

#### directoryIcon

    protected Icon directoryIcon

#### fileIcon

    protected Icon fileIcon

#### computerIcon

    protected Icon computerIcon

#### hardDriveIcon

    protected Icon hardDriveIcon

#### floppyDriveIcon

    protected Icon floppyDriveIcon

#### newFolderIcon

    protected Icon newFolderIcon

#### upFolderIcon

    protected Icon upFolderIcon

#### homeFolderIcon

    protected Icon homeFolderIcon

#### listViewIcon

    protected Icon listViewIcon

#### detailsViewIcon

    protected Icon detailsViewIcon

#### viewMenuIcon

    protected Icon viewMenuIcon

#### saveButtonMnemonic

    protected int saveButtonMnemonic

#### openButtonMnemonic

    protected int openButtonMnemonic

#### cancelButtonMnemonic

    protected int cancelButtonMnemonic

#### updateButtonMnemonic

    protected int updateButtonMnemonic

#### helpButtonMnemonic

    protected int helpButtonMnemonic

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

#### openButtonText

    protected String openButtonText

#### cancelButtonText

    protected String cancelButtonText

#### updateButtonText

    protected String updateButtonText

#### helpButtonText

    protected String helpButtonText

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

#### openButtonToolTipText

    protected String openButtonToolTipText

#### cancelButtonToolTipText

    protected String cancelButtonToolTipText

#### updateButtonToolTipText

    protected String updateButtonToolTipText

#### helpButtonToolTipText

    protected String helpButtonToolTipText

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

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

Description copied from class: `ComponentUI`
Configures the specified component appropriately for the look and feel. This method is invoked when the `ComponentUI` instance is being installed as the UI delegate on the specified component. This method should completely configure the component for the look and feel, including the following:

1. Install default property values for color, fonts, borders, icons, opacity, etc. on the component. Whenever possible, property values initialized by the client program should not be overridden.
2. Install a `LayoutManager` on the component if necessary.
3. Create/add any required sub-components to the component.
4. Create/install event listeners on the component.
5. Create/install a `PropertyChangeListener` on the component in order to detect and respond to component property changes appropriately.
6. Install keyboard UI (mnemonics, traversal, etc.) on the component.
7. Initialize any appropriate instance data.

Overrides:
  `installUI` in class `ComponentUI`
Parameters:
  `c` - the component where this UI delegate is being installed
See Also:
  `ComponentUI.uninstallUI(javax.swing.JComponent)`, `JComponent.setUI(javax.swing.plaf.ComponentUI)`, `JComponent.updateUI()`

#### uninstallUI

    public void uninstallUI(JComponent c)

Description copied from class: `ComponentUI`
Reverses configuration which was done on the specified component during `installUI`. This method is invoked when this `UIComponent` instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in `installUI`, being careful to leave the `JComponent` instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:

1. Remove any UI-set borders from the component.
2. Remove any UI-set layout managers on the component.
3. Remove any UI-added sub-components from the component.
4. Remove any UI-added event/property listeners from the component.
5. Remove any UI-installed keyboard UI from the component.
6. Nullify any allocated instance data objects to allow for GC.

Overrides:
  `uninstallUI` in class `ComponentUI`
Parameters:
  `c` - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
  `ComponentUI.installUI(javax.swing.JComponent)`, `JComponent.updateUI()`

#### installComponents

    public void installComponents(JFileChooser fc)

#### uninstallComponents

    public void uninstallComponents(JFileChooser fc)

#### installListeners

    protected void installListeners(JFileChooser fc)

#### uninstallListeners

    protected void uninstallListeners(JFileChooser fc)

#### installDefaults

    protected void installDefaults(JFileChooser fc)

#### installIcons

    protected void installIcons(JFileChooser fc)

#### installStrings

    protected void installStrings(JFileChooser fc)

#### uninstallDefaults

    protected void uninstallDefaults(JFileChooser fc)

#### uninstallIcons

    protected void uninstallIcons(JFileChooser fc)

#### uninstallStrings

    protected void uninstallStrings(JFileChooser fc)

#### createModel

    protected void createModel()

#### getModel

    public BasicDirectoryModel getModel()

#### createPropertyChangeListener

    public PropertyChangeListener createPropertyChangeListener(JFileChooser fc)

#### getFileName

    public String getFileName()

#### getDirectoryName

    public String getDirectoryName()

#### setFileName

    public void setFileName(String filename)

#### setDirectoryName

    public void setDirectoryName(String dirname)

#### rescanCurrentDirectory

    public void rescanCurrentDirectory(JFileChooser fc)

Specified by:
  `rescanCurrentDirectory` in class `FileChooserUI`

#### ensureFileIsVisible

    public void ensureFileIsVisible(JFileChooser fc,
                                    File f)

Specified by:
  `ensureFileIsVisible` in class `FileChooserUI`

#### getFileChooser

    public JFileChooser getFileChooser()

#### getAccessoryPanel

    public JPanel getAccessoryPanel()

#### getApproveButton

    protected JButton getApproveButton(JFileChooser fc)

#### getDefaultButton

    public JButton getDefaultButton(JFileChooser fc)

Description copied from class: `FileChooserUI`
Returns default button for current `LookAndFeel`. `JFileChooser` will use this button as default button for dialog windows.

Overrides:
  `getDefaultButton` in class `FileChooserUI`

#### getApproveButtonToolTipText

    public String getApproveButtonToolTipText(JFileChooser fc)

#### clearIconCache

    public void clearIconCache()

#### createDoubleClickListener

    protected MouseListener createDoubleClickListener(JFileChooser fc,
                                                      JList list)

#### createListSelectionListener

    public ListSelectionListener createListSelectionListener(JFileChooser fc)

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

#### getFileView

    public FileView getFileView(JFileChooser fc)

Specified by:
  `getFileView` in class `FileChooserUI`

#### getDialogTitle

    public String getDialogTitle(JFileChooser fc)

Returns the title of this dialog

Specified by:
  `getDialogTitle` in class `FileChooserUI`

#### getApproveButtonMnemonic

    public int getApproveButtonMnemonic(JFileChooser fc)

#### getApproveButtonText

    public String getApproveButtonText(JFileChooser fc)

Specified by:
  `getApproveButtonText` in class `FileChooserUI`

#### getNewFolderAction

    public Action getNewFolderAction()

#### getGoHomeAction

    public Action getGoHomeAction()

#### getChangeToParentDirectoryAction

    public Action getChangeToParentDirectoryAction()

#### getApproveSelectionAction

    public Action getApproveSelectionAction()

#### getCancelSelectionAction

    public Action getCancelSelectionAction()

#### getUpdateAction

    public Action getUpdateAction()