javax.swing

## Class DefaultSingleSelectionModel

- java.lang.Object
- - javax.swing.DefaultSingleSelectionModel

All Implemented Interfaces:
  Serializable, SingleSelectionModel

    public class DefaultSingleSelectionModel
    extends Object
    implements SingleSelectionModel, Serializable

A generic implementation of SingleSelectionModel.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the `java.beans` package. Please see `XMLEncoder`.

### Field Summary

Fields
`protected ChangeEvent` `changeEvent`
`protected EventListenerList` `listenerList` The collection of registered listeners

### Constructor Summary

Constructors
Constructor and Description
`DefaultSingleSelectionModel()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the button.
`void` `clearSelection()` Clears the selection (to -1).
`protected void` `fireStateChanged()` Notifies all listeners that have registered interest for notification on this event type.
`ChangeListener[]` `getChangeListeners()` Returns an array of all the change listeners registered on this `DefaultSingleSelectionModel`.
`<T extends EventListener> T[]` `getListeners(Class<T> listenerType)` Returns an array of all the objects currently registered as `FooListener`s upon this model.
`int` `getSelectedIndex()` Returns the model's selection.
`boolean` `isSelected()` Returns true if the selection model currently has a selected value.
`void` `removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the button.
`void` `setSelectedIndex(int index)` Sets the model's selected index to index.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### changeEvent

    protected transient ChangeEvent changeEvent

#### listenerList

    protected EventListenerList listenerList

The collection of registered listeners

### Constructor Detail

#### DefaultSingleSelectionModel

    public DefaultSingleSelectionModel()

### Method Detail

#### getSelectedIndex

    public int getSelectedIndex()

Description copied from interface: `SingleSelectionModel`
Returns the model's selection.

Specified by:
  `getSelectedIndex` in interface `SingleSelectionModel`
Returns:
  the model's selection, or -1 if there is no selection
See Also:
  `SingleSelectionModel.setSelectedIndex(int)`

#### setSelectedIndex

    public void setSelectedIndex(int index)

Description copied from interface: `SingleSelectionModel`
Sets the model's selected index to index. Notifies any listeners if the model changes

Specified by:
  `setSelectedIndex` in interface `SingleSelectionModel`
Parameters:
  `index` - an int specifying the model selection
See Also:
  `SingleSelectionModel.getSelectedIndex()`, `SingleSelectionModel.addChangeListener(javax.swing.event.ChangeListener)`

#### clearSelection

    public void clearSelection()

Description copied from interface: `SingleSelectionModel`
Clears the selection (to -1).

Specified by:
  `clearSelection` in interface `SingleSelectionModel`

#### isSelected

    public boolean isSelected()

Description copied from interface: `SingleSelectionModel`
Returns true if the selection model currently has a selected value.

Specified by:
  `isSelected` in interface `SingleSelectionModel`
Returns:
  true if a value is currently selected

#### addChangeListener

    public void addChangeListener(ChangeListener l)

Adds a `ChangeListener` to the button.

Specified by:
  `addChangeListener` in interface `SingleSelectionModel`
Parameters:
  `l` - the ChangeListener to add

#### removeChangeListener

    public void removeChangeListener(ChangeListener l)

Removes a `ChangeListener` from the button.

Specified by:
  `removeChangeListener` in interface `SingleSelectionModel`
Parameters:
  `l` - the ChangeListener to remove

#### getChangeListeners

    public ChangeListener[] getChangeListeners()

Returns an array of all the change listeners registered on this `DefaultSingleSelectionModel`.

Returns:
  all of this model's `ChangeListener`s or an empty array if no change listeners are currently registered
Since:
  1.4
See Also:
  `addChangeListener(javax.swing.event.ChangeListener)`, `removeChangeListener(javax.swing.event.ChangeListener)`

#### fireStateChanged

    protected void fireStateChanged()

Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.

See Also:
  `EventListenerList`

#### getListeners

    public <T extends EventListener> T[] getListeners(Class<T> listenerType)

Returns an array of all the objects currently registered as `FooListener`s upon this model. `FooListener`s are registered using the `addFooListener` method.

You can specify the `listenerType` argument with a class literal, such as `FooListener.class`. For example, you can query a `DefaultSingleSelectionModel` instance `m` for its change listeners with the following code:

    ChangeListener[] cls = (ChangeListener[])(m.getListeners(ChangeListener.class));

If no such listeners exist, this method returns an empty array.

Parameters:
  `listenerType` - the type of listeners requested; this parameter should specify an interface that descends from `java.util.EventListener`
Returns:
  an array of all objects registered as `FooListener`s on this model, or an empty array if no such listeners have been added
Throws:
  `ClassCastException` - if `listenerType` doesn't specify a class or interface that implements `java.util.EventListener`
Since:
  1.3
See Also:
  `getChangeListeners()`