# Interface ComboBoxModel<E>

Type Parameters:
  `E` - the type of the elements of this model

All Superinterfaces:
  `ListModel<E>`

All Known Subinterfaces:
  `MutableComboBoxModel<E>`

All Known Implementing Classes:
  `DefaultComboBoxModel, MetalFileChooserUI.DirectoryComboBoxModel, MetalFileChooserUI.FilterComboBoxModel`

public interface ComboBoxModel<E> extends ListModel<E>
A data model for a combo box. This interface extends `ListModel` and adds the concept of a selected item. The selected item is generally the item which is visible in the combo box display area.

The selected item may not necessarily be managed by the underlying `ListModel`. This disjoint behavior allows for the temporary storage and retrieval of a selected item in the model.

Since:
  1.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getSelectedItem()`
  Returns the selected item
  `void`
  `setSelectedItem(Object anItem)`
  Set the selected item.

  ### Methods declared in interface ListModel

  `addListDataListener, getElementAt, getSize, 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.
  `E`
  `getElementAt(int index)`
  Returns the value at the specified index.
  `int`
  `getSize()`
  Returns the length of the list.
  `void`
  `removeListDataListener(ListDataListener l)`
  Removes a listener from the list that's notified each time a change to the data model occurs.

- ## Method Details

  - ### setSelectedItem

    void setSelectedItem(Object anItem)
    Set the selected item. The implementation of this method should notify all registered `ListDataListener`s that the contents have changed.
    Parameters:
      `anItem` - the list object to select or `null` to clear the selection

  - ### getSelectedItem

    Object getSelectedItem()
    Returns the selected item
    Returns:
      The selected item or `null` if there is no selection