# Class RowSorterEvent

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

All Implemented Interfaces:
  `Serializable`

public class RowSorterEvent extends EventObject
`RowSorterEvent` provides notification of changes to a `RowSorter`. Two types of notification are possible:

- `Type.SORT_ORDER_CHANGED`: indicates the sort order has changed. This is typically followed by a notification of:
- `Type.SORTED`: indicates the contents of the model have been transformed in some way. For example, the contents may have been sorted or filtered.

Since:
  1.6
See Also:
  - `RowSorter`

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `RowSorterEvent.Type`
  Enumeration of the types of `RowSorterEvent`s.

- ## 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
  `RowSorterEvent(RowSorter<?> source)`
  Creates a `RowSorterEvent` of type `SORT_ORDER_CHANGED`.
  `RowSorterEvent(RowSorter<?> source, RowSorterEvent.Type type, int[] previousRowIndexToModel)`
  Creates a `RowSorterEvent`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `convertPreviousRowIndexToModel(int index)`
  Returns the location of `index` in terms of the model prior to the sort.
  `int`
  `getPreviousRowCount()`
  Returns the number of rows before the sort.
  `RowSorter<?>`
  `getSource()`
  Returns the source of the event as a `RowSorter`.
  `RowSorterEvent.Type`
  `getType()`
  Returns the type of event.

  ### Methods declared in class EventObject

  `toString`
  Modifier and Type
  Method
  Description
  `String`
  `toString()`
  Returns a String representation of this EventObject.

  ### 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

  - ### RowSorterEvent

    public RowSorterEvent(RowSorter<?> source)
    Creates a `RowSorterEvent` of type `SORT_ORDER_CHANGED`.
    Parameters:
      `source` - the source of the change
    Throws:
      `IllegalArgumentException` - if `source` is `null`

  - ### RowSorterEvent

    public RowSorterEvent(RowSorter<?> source, RowSorterEvent.Type type, int[] previousRowIndexToModel)
    Creates a `RowSorterEvent`.
    Parameters:
      `source` - the source of the change
      `type` - the type of event
      `previousRowIndexToModel` - the mapping from model indices to view indices prior to the sort, may be `null`
    Throws:
      `IllegalArgumentException` - if source or `type` is `null`

- ## Method Details

  - ### getSource

    public RowSorter<?> getSource()
    Returns the source of the event as a `RowSorter`.
    Overrides:
      `getSource` in class `EventObject`
    Returns:
      the source of the event as a `RowSorter`

  - ### getType

    public RowSorterEvent.Type getType()
    Returns the type of event.
    Returns:
      the type of event

  - ### convertPreviousRowIndexToModel

    public int convertPreviousRowIndexToModel(int index)
    Returns the location of `index` in terms of the model prior to the sort. This method is only useful for events of type `SORTED`. This method will return -1 if the index is not valid, or the locations prior to the sort have not been provided.
    Parameters:
      `index` - the index in terms of the view
    Returns:
      the index in terms of the model prior to the sort, or -1 if the location is not valid or the mapping was not provided.

  - ### getPreviousRowCount

    public int getPreviousRowCount()
    Returns the number of rows before the sort. This method is only useful for events of type `SORTED` and if the last locations have not been provided will return 0.
    Returns:
      the number of rows in terms of the view prior to the sort