javax.swing.plaf.metal

## Class MetalFileChooserUI

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

    public class MetalFileChooserUI
    extends BasicFileChooserUI

Metal L&F implementation of a FileChooser.

### Nested Class Summary

Nested Classes
`protected class` `MetalFileChooserUI.DirectoryComboBoxAction` Acts when DirectoryComboBox has changed the selected item.
`protected class` `MetalFileChooserUI.DirectoryComboBoxModel` Data model for a type-face selection combo-box.
`protected class` `MetalFileChooserUI.FileRenderer`
`protected class` `MetalFileChooserUI.FilterComboBoxModel` Data model for a type-face selection combo-box.
`class` `MetalFileChooserUI.FilterComboBoxRenderer` Render different type sizes and styles.
`protected class` `MetalFileChooserUI.SingleClickListener`

### Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicFileChooserUI

`BasicFileChooserUI.AcceptAllFileFilter, BasicFileChooserUI.ApproveSelectionAction, BasicFileChooserUI.BasicFileView, BasicFileChooserUI.CancelSelectionAction, BasicFileChooserUI.ChangeToParentDirectoryAction, BasicFileChooserUI.DoubleClickListener, BasicFileChooserUI.GoHomeAction, BasicFileChooserUI.NewFolderAction, BasicFileChooserUI.SelectionListener, BasicFileChooserUI.UpdateAction`

### Field Summary

### Fields inherited from class javax.swing.plaf.basic.BasicFileChooserUI

`cancelButtonMnemonic, cancelButtonText, cancelButtonToolTipText, computerIcon, detailsViewIcon, directoryIcon, directoryOpenButtonMnemonic, directoryOpenButtonText, directoryOpenButtonToolTipText, fileIcon, floppyDriveIcon, hardDriveIcon, helpButtonMnemonic, helpButtonText, helpButtonToolTipText, homeFolderIcon, listViewIcon, newFolderIcon, openButtonMnemonic, openButtonText, openButtonToolTipText, saveButtonMnemonic, saveButtonText, saveButtonToolTipText, updateButtonMnemonic, updateButtonText, updateButtonToolTipText, upFolderIcon`

### Constructor Summary

Constructors
Constructor and Description
`MetalFileChooserUI(JFileChooser filechooser)`

### Method Summary

Methods
`protected void` `addControlButtons()`
`protected ActionMap` `createActionMap()`
`protected JPanel` `createDetailsView(JFileChooser fc)`
`protected MetalFileChooserUI.DirectoryComboBoxModel` `createDirectoryComboBoxModel(JFileChooser fc)`
`protected javax.swing.plaf.metal.MetalFileChooserUI.DirectoryComboBoxRenderer` `createDirectoryComboBoxRenderer(JFileChooser fc)`
`protected MetalFileChooserUI.FilterComboBoxModel` `createFilterComboBoxModel()`
`protected MetalFileChooserUI.FilterComboBoxRenderer` `createFilterComboBoxRenderer()`
`protected JPanel` `createList(JFileChooser fc)`
`ListSelectionListener` `createListSelectionListener(JFileChooser fc)` Creates a selection listener for the list of files and directories.
`PropertyChangeListener` `createPropertyChangeListener(JFileChooser fc)`
`static ComponentUI` `createUI(JComponent c)`
`void` `ensureFileIsVisible(JFileChooser fc, File f)`
`protected ActionMap` `getActionMap()`
`protected JButton` `getApproveButton(JFileChooser fc)`
`protected JPanel` `getBottomPanel()`
`protected JPanel` `getButtonPanel()`
`String` `getDirectoryName()`
`String` `getFileName()`
`Dimension` `getMaximumSize(JComponent c)` Returns the maximum size of the `JFileChooser`.
`Dimension` `getMinimumSize(JComponent c)` Returns the minimum size of the `JFileChooser`.
`Dimension` `getPreferredSize(JComponent c)` Returns the preferred size of the specified `JFileChooser`.
`void` `installComponents(JFileChooser fc)`
`protected void` `installListeners(JFileChooser fc)`
`protected void` `installStrings(JFileChooser fc)`
`void` `installUI(JComponent c)` Configures the specified component appropriate for the look and feel.
`protected void` `removeControlButtons()`
`void` `rescanCurrentDirectory(JFileChooser fc)`
`void` `setDirectoryName(String dirname)`
`protected void` `setDirectorySelected(boolean directorySelected)` Property to remember whether a directory is currently selected in the UI.
`void` `setFileName(String filename)`
`void` `uninstallComponents(JFileChooser fc)`
`void` `uninstallUI(JComponent c)` Reverses configuration which was done on the specified component during `installUI`.
`void` `valueChanged(ListSelectionEvent e)`

### Methods inherited from class javax.swing.plaf.basic.BasicFileChooserUI

`clearIconCache, createDoubleClickListener, createModel, getAcceptAllFileFilter, getAccessoryPanel, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getApproveSelectionAction, getCancelSelectionAction, getChangeToParentDirectoryAction, getDialogTitle, getDirectory, getFileChooser, getFileView, getGoHomeAction, getModel, getNewFolderAction, getUpdateAction, installDefaults, installIcons, isDirectorySelected, setDirectory, uninstallDefaults, uninstallIcons, uninstallListeners, uninstallStrings`

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

`contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update`

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

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

### Constructor Detail

#### MetalFileChooserUI

    public MetalFileChooserUI(JFileChooser filechooser)

### Method Detail

#### createUI

    public static ComponentUI createUI(JComponent c)

#### installUI

    public void installUI(JComponent c)

Description copied from class: `ComponentUI`
Configures the specified component appropriate 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 any 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 `BasicFileChooserUI`
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()`

#### uninstallComponents

    public void uninstallComponents(JFileChooser fc)

Overrides:
  `uninstallComponents` in class `BasicFileChooserUI`

#### installComponents

    public void installComponents(JFileChooser fc)

Overrides:
  `installComponents` in class `BasicFileChooserUI`

#### getButtonPanel

    protected JPanel getButtonPanel()

#### getBottomPanel

    protected JPanel getBottomPanel()

#### installStrings

    protected void installStrings(JFileChooser fc)

Overrides:
  `installStrings` in class `BasicFileChooserUI`

#### installListeners

    protected void installListeners(JFileChooser fc)

Overrides:
  `installListeners` in class `BasicFileChooserUI`

#### getActionMap

    protected ActionMap getActionMap()

#### createActionMap

    protected ActionMap createActionMap()

#### createList

    protected JPanel createList(JFileChooser fc)

#### createDetailsView

    protected JPanel createDetailsView(JFileChooser fc)

#### createListSelectionListener

    public ListSelectionListener createListSelectionListener(JFileChooser fc)

Creates a selection listener for the list of files and directories.

Overrides:
  `createListSelectionListener` in class `BasicFileChooserUI`
Parameters:
  `fc` - a `JFileChooser`
Returns:
  a `ListSelectionListener`

#### 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 `BasicFileChooserUI`
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()`

#### getPreferredSize

    public Dimension getPreferredSize(JComponent c)

Returns the preferred size of the specified `JFileChooser`. The preferred size is at least as large, in both height and width, as the preferred size recommended by the file chooser's layout manager.

Overrides:
  `getPreferredSize` in class `ComponentUI`
Parameters:
  `c` - a `JFileChooser`
Returns:
  a `Dimension` specifying the preferred width and height of the file chooser
See Also:
  `JComponent.getPreferredSize()`, `LayoutManager.preferredLayoutSize(java.awt.Container)`

#### getMinimumSize

    public Dimension getMinimumSize(JComponent c)

Returns the minimum size of the `JFileChooser`.

Overrides:
  `getMinimumSize` in class `ComponentUI`
Parameters:
  `c` - a `JFileChooser`
Returns:
  a `Dimension` specifying the minimum width and height of the file chooser
See Also:
  `JComponent.getMinimumSize()`, `LayoutManager.minimumLayoutSize(java.awt.Container)`, `ComponentUI.getPreferredSize(javax.swing.JComponent)`

#### getMaximumSize

    public Dimension getMaximumSize(JComponent c)

Returns the maximum size of the `JFileChooser`.

Overrides:
  `getMaximumSize` in class `ComponentUI`
Parameters:
  `c` - a `JFileChooser`
Returns:
  a `Dimension` specifying the maximum width and height of the file chooser
See Also:
  `JComponent.getMaximumSize()`, `LayoutManager2.maximumLayoutSize(java.awt.Container)`

#### createPropertyChangeListener

    public PropertyChangeListener createPropertyChangeListener(JFileChooser fc)

Overrides:
  `createPropertyChangeListener` in class `BasicFileChooserUI`

#### removeControlButtons

    protected void removeControlButtons()

#### addControlButtons

    protected void addControlButtons()

#### ensureFileIsVisible

    public void ensureFileIsVisible(JFileChooser fc,
                           File f)

Overrides:
  `ensureFileIsVisible` in class `BasicFileChooserUI`

#### rescanCurrentDirectory

    public void rescanCurrentDirectory(JFileChooser fc)

Overrides:
  `rescanCurrentDirectory` in class `BasicFileChooserUI`

#### getFileName

    public String getFileName()

Overrides:
  `getFileName` in class `BasicFileChooserUI`

#### setFileName

    public void setFileName(String filename)

Overrides:
  `setFileName` in class `BasicFileChooserUI`

#### setDirectorySelected

    protected void setDirectorySelected(boolean directorySelected)

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

Overrides:
  `setDirectorySelected` in class `BasicFileChooserUI`
Parameters:
  `directorySelected` - if a directory is currently selected.
Since:
  1.4

#### getDirectoryName

    public String getDirectoryName()

Overrides:
  `getDirectoryName` in class `BasicFileChooserUI`

#### setDirectoryName

    public void setDirectoryName(String dirname)

Overrides:
  `setDirectoryName` in class `BasicFileChooserUI`

#### createDirectoryComboBoxRenderer

    protected javax.swing.plaf.metal.MetalFileChooserUI.DirectoryComboBoxRenderer createDirectoryComboBoxRenderer(JFileChooser fc)

#### createDirectoryComboBoxModel

    protected MetalFileChooserUI.DirectoryComboBoxModel createDirectoryComboBoxModel(JFileChooser fc)

#### createFilterComboBoxRenderer

    protected MetalFileChooserUI.FilterComboBoxRenderer createFilterComboBoxRenderer()

#### createFilterComboBoxModel

    protected MetalFileChooserUI.FilterComboBoxModel createFilterComboBoxModel()

#### valueChanged

    public void valueChanged(ListSelectionEvent e)

#### getApproveButton

    protected JButton getApproveButton(JFileChooser fc)

Overrides:
  `getApproveButton` in class `BasicFileChooserUI`

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.