# Interface MutableComboBoxModel<E>

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

All Superinterfaces:
  `ComboBoxModel<E>, ListModel<E>`

All Known Implementing Classes:
  `DefaultComboBoxModel`

public interface MutableComboBoxModel<E> extends ComboBoxModel<E>
A mutable version of `ComboBoxModel`.

Since:
  1.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addElement(E item)`
  Adds an item at the end of the model.
  `void`
  `insertElementAt(E item, int index)`
  Adds an item at a specific index.
  `void`
  `removeElement(Object obj)`
  Removes an item from the model.
  `void`
  `removeElementAt(int index)`
  Removes an item at a specific index.

  ### Methods declared in interface ComboBoxModel

  `getSelectedItem, setSelectedItem`
  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

  - ### addElement

    void addElement(E item)
    Adds an item at the end of the model. The implementation of this method should notify all registered `ListDataListener`s that the item has been added.
    Parameters:
      `item` - the item to be added

  - ### removeElement

    void removeElement(Object obj)
    Removes an item from the model. The implementation of this method should should notify all registered `ListDataListener`s that the item has been removed.
    Parameters:
      `obj` - the `Object` to be removed

  - ### insertElementAt

    void insertElementAt(E item, int index)
    Adds an item at a specific index. The implementation of this method should notify all registered `ListDataListener`s that the item has been added.
    Parameters:
      `item` - the item to be added
      `index` - location to add the object

  - ### removeElementAt

    void removeElementAt(int index)
    Removes an item at a specific index. The implementation of this method should notify all registered `ListDataListener`s that the item has been removed.
    Parameters:
      `index` - location of the item to be removed