ListModel (Java SE 14 & JDK 14)
Description: declaration: module: java.desktop, package: javax.swing, interface: ListModel
Keywords: javax.swing.ListModel interface

Module java.desktop
Package javax.swing

# Interface ListModel<E>

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

All Known Subinterfaces:
  `ComboBoxModel<E>`, `MutableComboBoxModel<E>`

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

    public interface ListModel<E>

This interface defines the methods components like JList use to get the value of each cell in a list and the length of the list. Logically the model is a vector, indices vary from 0 to ListDataModel.getSize() - 1. Any change to the contents or length of the data model must be reported to all of the ListDataListeners.

Since:
  1.2
See Also:
  `JList`

- ## Method Summary

  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

  - ### getSize

    int getSize()
    Returns the length of the list.
    Returns:
      the length of the list

  - ### getElementAt

    E getElementAt​(int index)
    Returns the value at the specified index.
    Parameters:
      `index` - the requested index
    Returns:
      the value at `index`

  - ### addListDataListener

    void addListDataListener​(ListDataListener l)
    Adds a listener to the list that's notified each time a change to the data model occurs.
    Parameters:
      `l` - the `ListDataListener` to be added

  - ### removeListDataListener

    void removeListDataListener​(ListDataListener l)
    Removes a listener from the list that's notified each time a change to the data model occurs.
    Parameters:
      `l` - the `ListDataListener` to be removed