Module java.desktop
Package javax.swing

## Interface SingleSelectionModel

- All Known Implementing Classes:
    `DefaultSingleSelectionModel`

      public interface SingleSelectionModel

  A model that supports at most one indexed selection.
  Since:
    1.2

- - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addChangeListener​(ChangeListener listener)` | Adds listener as a listener to changes in the model.
    `void` | `clearSelection()` | Clears the selection (to -1).
    `int` | `getSelectedIndex()` | Returns the model's selection.
    `boolean` | `isSelected()` | Returns true if the selection model currently has a selected value.
    `void` | `removeChangeListener​(ChangeListener listener)` | Removes listener as a listener to changes in the model.
    `void` | `setSelectedIndex​(int index)` | Sets the model's selected index to index.

- - ### Method Detail

    - #### getSelectedIndex

          int getSelectedIndex()

      Returns the model's selection.
      Returns:
        the model's selection, or -1 if there is no selection
      See Also:
        `setSelectedIndex(int)`

    - #### setSelectedIndex

          void setSelectedIndex​(int index)

      Sets the model's selected index to index. Notifies any listeners if the model changes
      Parameters:
        `index` - an int specifying the model selection
      See Also:
        `getSelectedIndex()`, `addChangeListener(javax.swing.event.ChangeListener)`

    - #### clearSelection

          void clearSelection()

      Clears the selection (to -1).

    - #### isSelected

          boolean isSelected()

      Returns true if the selection model currently has a selected value.
      Returns:
        true if a value is currently selected

    - #### addChangeListener

          void addChangeListener​(ChangeListener listener)

      Adds listener as a listener to changes in the model.
      Parameters:
        `listener` - the ChangeListener to add

    - #### removeChangeListener

          void removeChangeListener​(ChangeListener listener)

      Removes listener as a listener to changes in the model.
      Parameters:
        `listener` - the ChangeListener to remove