SingleSelectionModel (Java Platform SE 8 )
Keywords: javax.swing.SingleSelectionModel interface
Date: 2026-04-24

javax.swing

## Interface SingleSelectionModel

- All Known Implementing Classes:
    DefaultSingleSelectionModel

      public interface SingleSelectionModel

  A model that supports at most one indexed selection.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.