TreeSelectionEvent (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing.event, class: TreeSelectionEvent
Keywords: javax.swing.event.TreeSelectionEvent class

# Class TreeSelectionEvent

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

All Implemented Interfaces:
  `Serializable`

public class TreeSelectionEvent extends EventObject
An event that characterizes a change in the current selection. The change is based on any number of paths. TreeSelectionListeners 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:
  - `TreeSelectionListener`
  - `TreeSelectionModel`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected boolean[]`
  `areNew`
  For each path identifies if that path is in fact new.
  `protected TreePath`
  `newLeadSelectionPath`
  leadSelectionPath after the paths changed, may be null.
  `protected TreePath`
  `oldLeadSelectionPath`
  leadSelectionPath before the paths changed, may be null.
  `protected TreePath[]`
  `paths`
  Paths this event represents.

  ### 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
  `TreeSelectionEvent(Object source, TreePath[] paths, boolean[] areNew, TreePath oldLeadSelectionPath, TreePath newLeadSelectionPath)`
  Represents a change in the selection of a `TreeSelectionModel`.
  `TreeSelectionEvent(Object source, TreePath path, boolean isNew, TreePath oldLeadSelectionPath, TreePath newLeadSelectionPath)`
  Represents a change in the selection of a `TreeSelectionModel`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `cloneWithSource(Object newSource)`
  Returns a copy of the receiver, but with the source being newSource.
  `TreePath`
  `getNewLeadSelectionPath()`
  Returns the current lead path.
  `TreePath`
  `getOldLeadSelectionPath()`
  Returns the path that was previously the lead path.
  `TreePath`
  `getPath()`
  Returns the first path element.
  `TreePath[]`
  `getPaths()`
  Returns the paths that have been added or removed from the selection.
  `boolean`
  `isAddedPath()`
  Returns whether the path identified by `getPath` was added to the selection.
  `boolean`
  `isAddedPath(int index)`
  Returns whether the path at `getPaths()[index]` was added to the selection.
  `boolean`
  `isAddedPath(TreePath path)`
  Returns whether the specified path was added to the selection.

  ### Methods declared in class EventObject

  `getSource, toString`
  Modifier and Type
  Method
  Description
  `Object`
  `getSource()`
  The object on which the Event initially occurred.
  `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.

- ## Field Details

  - ### paths

    protected TreePath[] paths
    Paths this event represents.

  - ### areNew

    protected boolean[] areNew
    For each path identifies if that path is in fact new.

  - ### oldLeadSelectionPath

    protected TreePath oldLeadSelectionPath
    leadSelectionPath before the paths changed, may be null.

  - ### newLeadSelectionPath

    protected TreePath newLeadSelectionPath
    leadSelectionPath after the paths changed, may be null.

- ## Constructor Details

  - ### TreeSelectionEvent

    public TreeSelectionEvent(Object source, TreePath[] paths, boolean[] areNew, TreePath oldLeadSelectionPath, TreePath newLeadSelectionPath)
    Represents a change in the selection of a `TreeSelectionModel`. `paths` identifies the paths that have been either added or removed from the selection.
    Parameters:
      `source` - source of event
      `paths` - the paths that have changed in the selection
      `areNew` - a `boolean` array indicating whether the paths in `paths` are new to the selection
      `oldLeadSelectionPath` - the previous lead selection path
      `newLeadSelectionPath` - the new lead selection path

  - ### TreeSelectionEvent

    public TreeSelectionEvent(Object source, TreePath path, boolean isNew, TreePath oldLeadSelectionPath, TreePath newLeadSelectionPath)
    Represents a change in the selection of a `TreeSelectionModel`. `path` identifies the path that has been either added or removed from the selection.
    Parameters:
      `source` - source of event
      `path` - the path that has changed in the selection
      `isNew` - whether or not the path is new to the selection, false means path was removed from the selection.
      `oldLeadSelectionPath` - the previous lead selection path
      `newLeadSelectionPath` - the new lead selection path

- ## Method Details

  - ### getPaths

    public TreePath[] getPaths()
    Returns the paths that have been added or removed from the selection.
    Returns:
      copy of the array of `TreePath` objects for this event.

  - ### getPath

    public TreePath getPath()
    Returns the first path element.
    Returns:
      the first `TreePath` element represented by this event

  - ### isAddedPath

    public boolean isAddedPath()
    Returns whether the path identified by `getPath` was added to the selection. A return value of `true` indicates the path identified by `getPath` was added to the selection. A return value of `false` indicates `getPath` was selected, but is no longer selected.
    Returns:
      `true` if `getPath` was added to the selection, `false` otherwise

  - ### isAddedPath

    public boolean isAddedPath(TreePath path)
    Returns whether the specified path was added to the selection. A return value of `true` indicates the path identified by `path` was added to the selection. A return value of `false` indicates `path` is no longer selected. This method is only valid for the paths returned from `getPaths()`; invoking with a path not included in `getPaths()` throws an `IllegalArgumentException`.
    Parameters:
      `path` - the path to test
    Returns:
      `true` if `path` was added to the selection, `false` otherwise
    Throws:
      `IllegalArgumentException` - if `path` is not contained in `getPaths`
    See Also:
      - `getPaths()`

  - ### isAddedPath

    public boolean isAddedPath(int index)
    Returns whether the path at `getPaths()[index]` was added to the selection. A return value of `true` indicates the path was added to the selection. A return value of `false` indicates the path is no longer selected.
    Parameters:
      `index` - the index of the path to test
    Returns:
      `true` if the path was added to the selection, `false` otherwise
    Throws:
      `IllegalArgumentException` - if index is outside the range of `getPaths`
    Since:
      1.3
    See Also:
      - `getPaths()`

  - ### getOldLeadSelectionPath

    public TreePath getOldLeadSelectionPath()
    Returns the path that was previously the lead path.
    Returns:
      a `TreePath` containing the old lead selection path

  - ### getNewLeadSelectionPath

    public TreePath getNewLeadSelectionPath()
    Returns the current lead path.
    Returns:
      a `TreePath` containing the new lead selection path

  - ### cloneWithSource

    public Object cloneWithSource(Object newSource)
    Returns a copy of the receiver, but with the source being newSource.
    Parameters:
      `newSource` - source of event
    Returns:
      an `Object` which is a copy of this event with the source being the `newSource` provided