# Class ListSelectionEvent

java.lang.Object
java.util.EventObject
javax.swing.event.ListSelectionEvent

All Implemented Interfaces:
  `Serializable`

public class ListSelectionEvent extends EventObject
An event that characterizes a change in selection. The change is limited to a single inclusive interval. The selection of at least one index within the range will have changed. A decent `ListSelectionModel` implementation will keep the range as small as possible. `ListSelectionListeners` will generally query the source of the event for the new selected status of each potentially changed row.

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

See Also:
  - `ListSelectionModel`

- ## Field Summary

  ### Fields declared in class EventObject

  `source`
  Modifier and Type
  Field
  Description
  `protected Object`
  `source`
  The object on which the Event initially occurred.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ListSelectionEvent(Object source, int firstIndex, int lastIndex, boolean isAdjusting)`
  Represents a change in selection status between `firstIndex` and `lastIndex`, inclusive.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getFirstIndex()`
  Returns the index of the first row whose selection may have changed.
  `int`
  `getLastIndex()`
  Returns the index of the last row whose selection may have changed.
  `boolean`
  `getValueIsAdjusting()`
  Returns whether or not this is one in a series of multiple events, where changes are still being made.
  `String`
  `toString()`
  Returns a `String` that displays and identifies this object's properties.

  ### Methods declared in class EventObject

  `getSource`
  Modifier and Type
  Method
  Description
  `Object`
  `getSource()`
  The object on which the Event initially occurred.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### ListSelectionEvent

    public ListSelectionEvent(Object source, int firstIndex, int lastIndex, boolean isAdjusting)
    Represents a change in selection status between `firstIndex` and `lastIndex`, inclusive. `firstIndex` is less than or equal to `lastIndex`. The selection of at least one index within the range will have changed.
    Parameters:
      `source` - the `Object` on which the event initially occurred
      `firstIndex` - the first index in the range, <= `lastIndex`
      `lastIndex` - the last index in the range, >= `firstIndex`
      `isAdjusting` - whether or not this is one in a series of multiple events, where changes are still being made

- ## Method Details

  - ### getFirstIndex

    public int getFirstIndex()
    Returns the index of the first row whose selection may have changed. `getFirstIndex() <= getLastIndex()`
    Returns:
      the first row whose selection value may have changed, where zero is the first row

  - ### getLastIndex

    public int getLastIndex()
    Returns the index of the last row whose selection may have changed. `getLastIndex() >= getFirstIndex()`
    Returns:
      the last row whose selection value may have changed, where zero is the first row

  - ### getValueIsAdjusting

    public boolean getValueIsAdjusting()
    Returns whether or not this is one in a series of multiple events, where changes are still being made. See the documentation for `ListSelectionModel.setValueIsAdjusting(boolean)` for more details on how this is used.
    Returns:
      `true` if this is one in a series of multiple events, where changes are still being made

  - ### toString

    public String toString()
    Returns a `String` that displays and identifies this object's properties.
    Overrides:
      `toString` in class `EventObject`
    Returns:
      a string representation of this object