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 ListModel.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