# Class MetalFileChooserUI.DirectoryComboBoxModel

java.lang.Object
javax.swing.AbstractListModel<Object>
javax.swing.plaf.metal.MetalFileChooserUI.DirectoryComboBoxModel

All Implemented Interfaces:
  `Serializable, ComboBoxModel<Object>, ListModel<Object>`

Enclosing class:
  `MetalFileChooserUI`

protected class MetalFileChooserUI.DirectoryComboBoxModel extends AbstractListModel<Object> implements ComboBoxModel<Object>
Data model for a type-face selection combo-box.

- ## Field Summary

  ### Fields declared in class AbstractListModel

  `listenerList`
  Modifier and Type
  Field
  Description
  `protected EventListenerList`
  `listenerList`
  The listener list.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DirectoryComboBoxModel()`
  Constructs an instance of `DirectoryComboBoxModel`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getDepth(int i)`
  Returns the depth of `i`-th file.
  `Object`
  `getElementAt(int index)`
  Returns the value at the specified index.
  `Object`
  `getSelectedItem()`
  Returns the selected item
  `int`
  `getSize()`
  Returns the length of the list.
  `void`
  `setSelectedItem(Object selectedDirectory)`
  Set the selected item.

  ### Methods declared in class AbstractListModel

  `addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener`
  Modifier and Type
  Method
  Description
  `void`
  `addListDataListener(ListDataListener l)`
  Adds a listener to the list that's notified each time a change to the data model occurs.
  `protected void`
  `fireContentsChanged(Object source, int index0, int index1)`
  `AbstractListModel` subclasses must call this method after one or more elements of the list change.
  `protected void`
  `fireIntervalAdded(Object source, int index0, int index1)`
  `AbstractListModel` subclasses must call this method after one or more elements are added to the model.
  `protected void`
  `fireIntervalRemoved(Object source, int index0, int index1)`
  `AbstractListModel` subclasses must call this method after one or more elements are removed from the model.
  `ListDataListener[]`
  `getListDataListeners()`
  Returns an array of all the list data listeners registered on this `AbstractListModel`.
  `<T extends EventListener>
  T[]`
  `getListeners(Class<T> listenerType)`
  Returns an array of all the objects currently registered as `FooListener`s upon this model.
  `void`
  `removeListDataListener(ListDataListener l)`
  Removes a listener from the list that's notified each time a change to the data model occurs.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### DirectoryComboBoxModel

    public DirectoryComboBoxModel()
    Constructs an instance of `DirectoryComboBoxModel`.

- ## Method Details

  - ### getDepth

    public int getDepth(int i)
    Returns the depth of `i`-th file.
    Parameters:
      `i` - an index
    Returns:
      the depth of `i`-th file

  - ### setSelectedItem

    public void setSelectedItem(Object selectedDirectory)
    Description copied from interface: `ComboBoxModel`
    Set the selected item. The implementation of this method should notify all registered `ListDataListener`s that the contents have changed.
    Specified by:
      `setSelectedItem` in interface `ComboBoxModel<Object>`
    Parameters:
      `selectedDirectory` - the list object to select or `null` to clear the selection

  - ### getSelectedItem

    public Object getSelectedItem()
    Description copied from interface: `ComboBoxModel`
    Returns the selected item
    Specified by:
      `getSelectedItem` in interface `ComboBoxModel<Object>`
    Returns:
      The selected item or `null` if there is no selection

  - ### getSize

    public int getSize()
    Description copied from interface: `ListModel`
    Returns the length of the list.
    Specified by:
      `getSize` in interface `ListModel<Object>`
    Returns:
      the length of the list

  - ### getElementAt

    public Object getElementAt(int index)
    Description copied from interface: `ListModel`
    Returns the value at the specified index.
    Specified by:
      `getElementAt` in interface `ListModel<Object>`
    Parameters:
      `index` - the requested index
    Returns:
      the value at `index`