# Class JTree.EmptySelectionModel

java.lang.Object
javax.swing.tree.DefaultTreeSelectionModel
javax.swing.JTree.EmptySelectionModel

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `TreeSelectionModel`

Enclosing class:
  `JTree`

protected static class JTree.EmptySelectionModel extends DefaultTreeSelectionModel
`EmptySelectionModel` is a `TreeSelectionModel` that does not allow anything to be selected.

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

Since:
  1.2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final JTree.EmptySelectionModel`
  `sharedInstance`
  The single instance of `EmptySelectionModel`.

  ### Fields declared in class javax.swing.tree.DefaultTreeSelectionModel

  `changeSupport, leadIndex, leadPath, leadRow, listenerList, listSelectionModel, rowMapper, selection, SELECTION_MODE_PROPERTY, selectionMode`

  ### Fields declared in interface javax.swing.tree.TreeSelectionModel

  `CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `EmptySelectionModel()`
  Constructs an `EmptySelectionModel`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `addSelectionPaths(TreePath[] paths)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `addTreeSelectionListener(TreeSelectionListener listener)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `removeSelectionPaths(TreePath[] paths)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `removeTreeSelectionListener(TreeSelectionListener listener)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `setRowMapper(RowMapper mapper)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `setSelectionMode(int mode)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `void`
  `setSelectionPaths(TreePath[] paths)`
  This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
  `static JTree.EmptySelectionModel`
  `sharedInstance()`
  Returns the single instance of `EmptySelectionModel`.

  ### Methods declared in class javax.swing.tree.DefaultTreeSelectionModel

  `addSelectionPath, arePathsContiguous, canPathsBeAdded, canPathsBeRemoved, clearSelection, clone, fireValueChanged, getLeadSelectionPath, getLeadSelectionRow, getListeners, getMaxSelectionRow, getMinSelectionRow, getPropertyChangeListeners, getRowMapper, getSelectionCount, getSelectionMode, getSelectionPath, getSelectionPaths, getSelectionRows, getTreeSelectionListeners, insureRowContinuity, insureUniqueness, isPathSelected, isRowSelected, isSelectionEmpty, notifyPathChange, removeSelectionPath, resetRowSelection, setSelectionPath, toString, updateLeadIndex`

  ### Methods declared in class java.lang.Object

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

- ## Field Details

  - ### sharedInstance

    protected static final JTree.EmptySelectionModel sharedInstance
    The single instance of `EmptySelectionModel`.

- ## Constructor Details

  - ### EmptySelectionModel

    protected EmptySelectionModel()
    Constructs an `EmptySelectionModel`.

- ## Method Details

  - ### sharedInstance

    public static JTree.EmptySelectionModel sharedInstance()
    Returns the single instance of `EmptySelectionModel`.
    Returns:
      single instance of `EmptySelectionModel`

  - ### setSelectionPaths

    public void setSelectionPaths(TreePath[] paths)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `setSelectionPaths` in interface `TreeSelectionModel`
    Overrides:
      `setSelectionPaths` in class `DefaultTreeSelectionModel`
    Parameters:
      `paths` - the paths to select; this is ignored

  - ### addSelectionPaths

    public void addSelectionPaths(TreePath[] paths)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `addSelectionPaths` in interface `TreeSelectionModel`
    Overrides:
      `addSelectionPaths` in class `DefaultTreeSelectionModel`
    Parameters:
      `paths` - the paths to add to the selection; this is ignored

  - ### removeSelectionPaths

    public void removeSelectionPaths(TreePath[] paths)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `removeSelectionPaths` in interface `TreeSelectionModel`
    Overrides:
      `removeSelectionPaths` in class `DefaultTreeSelectionModel`
    Parameters:
      `paths` - the paths to remove; this is ignored

  - ### setSelectionMode

    public void setSelectionMode(int mode)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `setSelectionMode` in interface `TreeSelectionModel`
    Overrides:
      `setSelectionMode` in class `DefaultTreeSelectionModel`
    Parameters:
      `mode` - the selection mode; this is ignored
    Since:
      1.7

  - ### setRowMapper

    public void setRowMapper(RowMapper mapper)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `setRowMapper` in interface `TreeSelectionModel`
    Overrides:
      `setRowMapper` in class `DefaultTreeSelectionModel`
    Parameters:
      `mapper` - the `RowMapper` instance; this is ignored
    Since:
      1.7

  - ### addTreeSelectionListener

    public void addTreeSelectionListener(TreeSelectionListener listener)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `addTreeSelectionListener` in interface `TreeSelectionModel`
    Overrides:
      `addTreeSelectionListener` in class `DefaultTreeSelectionModel`
    Parameters:
      `listener` - the listener to add; this is ignored
    Since:
      1.7

  - ### removeTreeSelectionListener

    public void removeTreeSelectionListener(TreeSelectionListener listener)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `removeTreeSelectionListener` in interface `TreeSelectionModel`
    Overrides:
      `removeTreeSelectionListener` in class `DefaultTreeSelectionModel`
    Parameters:
      `listener` - the listener to remove; this is ignored
    Since:
      1.7

  - ### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener listener)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `addPropertyChangeListener` in interface `TreeSelectionModel`
    Overrides:
      `addPropertyChangeListener` in class `DefaultTreeSelectionModel`
    Parameters:
      `listener` - the listener to add; this is ignored
    Since:
      1.7

  - ### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener listener)
    This is overridden to do nothing; `EmptySelectionModel` does not allow a selection.
    Specified by:
      `removePropertyChangeListener` in interface `TreeSelectionModel`
    Overrides:
      `removePropertyChangeListener` in class `DefaultTreeSelectionModel`
    Parameters:
      `listener` - the listener to remove; this is ignored
    Since:
      1.7