The state of the tree selection is characterized by
a set of TreePaths, and optionally a set of integers. The mapping
from TreePath to integer is done by way of an instance of RowMapper.
It is not necessary for a TreeSelectionModel to have a RowMapper to
correctly operate, but without a RowMapper getSelectionRows
will return null.
A TreeSelectionModel can be configured to allow only one
path (SINGLE_TREE_SELECTION) a number of
contiguous paths (CONTIGUOUS_TREE_SELECTION) or a number of
discontiguous paths (DISCONTIGUOUS_TREE_SELECTION).
A RowMapper is used to determine if TreePaths are
contiguous.
In the absence of a RowMapper CONTIGUOUS_TREE_SELECTION and
DISCONTIGUOUS_TREE_SELECTION behave the same, that is they
allow any number of paths to be contained in the TreeSelectionModel.
For a selection model of CONTIGUOUS_TREE_SELECTION any
time the paths are changed (setSelectionPath,
addSelectionPath ...) the TreePaths are again checked to
make they are contiguous. A check of the TreePaths can also be forced
by invoking resetRowSelection. How a set of discontiguous
TreePaths is mapped to a contiguous set is left to implementors of
this interface to enforce a particular policy.
Implementations should combine duplicate TreePaths that are added to the selection. For example, the following code
TreePath[] paths = new TreePath[] { treePath, treePath };
treeSelectionModel.setSelectionPaths(paths);
should result in only one path being selected:
treePath, and
not two copies of treePath.
The lead TreePath is the last path that was added (or set). The lead row is then the row that corresponds to the TreePath as determined from the RowMapper.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | CONTIGUOUS_TREE_SELECTION
Selection can only be contiguous. |
| public static final int | DISCONTIGUOUS_TREE_SELECTION
Selection can contain any number of items that are not necessarily contiguous. |
| public static final int | SINGLE_TREE_SELECTION
Selection can only contain one path at a time. |
| Modifier and Type | Method and Description |
|---|---|
| public void | addPropertyChangeListener(PropertyChangeListener
the PropertyChangeListener to be added listener)Adds a PropertyChangeListener to the listener list. |
| public void | addSelectionPath(TreePath
the new path to add to the current selection path)Adds path to the current selection. |
| public void | addSelectionPaths(TreePath[]
the new paths to add to the current selection paths)Adds paths to the current selection. |
| public void | addTreeSelectionListener(TreeSelectionListener
the new listener to be added x)Adds x to the list of listeners that are notified each time the set of selected TreePaths changes. |
| public void | |
| public TreePath | |
| public int | |
| public int | Returns: the largest value obtained from the RowMapper for the current set of selected TreePathsReturns the largest value obtained from the RowMapper for the current set of selected TreePaths. |
| public int | Returns: the smallest value obtained from the RowMapper for the current set of selected TreePathsReturns the smallest value obtained from the RowMapper for the current set of selected TreePaths. |
| public RowMapper | Returns: the RowMapper instance that is able to map a TreePath to a rowReturns the RowMapper instance that is able to map a TreePath to a row. |
| public int | Returns: the number of paths that are selectedReturns the number of paths that are selected. |
| public int | Returns: the current selection modeReturns the current selection mode, one of
|
| public TreePath | |
| public TreePath[] | |
| public int[] | Returns: all of the currently selected rowsReturns all of the currently selected rows. |
| public boolean | Returns: whether thepath is in the current selectionthe path to be looked for path)Returns true if the path, |
| public boolean | Returns: whether the row is selectedrow to check row)Returns true if the row identified by |
| public boolean | Returns: whether the selection is currently emptyReturns true if the selection is currently empty. |
| public void | removePropertyChangeListener(PropertyChangeListener
the PropertyChangeListener to be removed listener)Removes a PropertyChangeListener from the listener list. |
| public void | removeSelectionPath(TreePath
the path to remove from the selection path)Removes path from the selection. |
| public void | removeSelectionPaths(TreePath[]
the path to remove from the selection paths)Removes paths from the selection. |
| public void | removeTreeSelectionListener(TreeSelectionListener
the listener to remove x)Removes x from the list of listeners that are notified each time the set of selected TreePaths changes. |
| public void | |
| public void | |
| public void | setSelectionMode(int
selection mode to be set mode)Sets the selection model, which must be one of SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION. |
| public void | |
| public void |
| CONTIGUOUS_TREE_SELECTION | back to summary |
|---|---|
| public static final int CONTIGUOUS_TREE_SELECTION Selection can only be contiguous. This will only be enforced if a RowMapper instance is provided. That is, if no RowMapper is set this behaves the same as DISCONTIGUOUS_TREE_SELECTION. | |
| DISCONTIGUOUS_TREE_SELECTION | back to summary |
|---|---|
| public static final int DISCONTIGUOUS_TREE_SELECTION Selection can contain any number of items that are not necessarily contiguous. | |
| SINGLE_TREE_SELECTION | back to summary |
|---|---|
| public static final int SINGLE_TREE_SELECTION Selection can only contain one path at a time. | |
| addPropertyChangeListener | back to summary |
|---|---|
| public void addPropertyChangeListener(PropertyChangeListener listener) Adds a PropertyChangeListener to the listener list. The listener is registered for all properties. A PropertyChangeEvent will get fired when the selection mode changes.
| |
| addSelectionPath | back to summary |
|---|---|
| public void addSelectionPath(TreePath path) Adds path to the current selection. If path is not currently
in the selection the TreeSelectionListeners are notified. This has
no effect if
| |
| addSelectionPaths | back to summary |
|---|---|
| public void addSelectionPaths(TreePath[] paths) Adds paths to the current selection. If any of the paths in
paths are not currently in the selection the TreeSelectionListeners
are notified. This has
no effect if
| |
| addTreeSelectionListener | back to summary |
|---|---|
| public void addTreeSelectionListener(TreeSelectionListener x) Adds x to the list of listeners that are notified each time the set of selected TreePaths changes.
| |
| clearSelection | back to summary |
|---|---|
| public void clearSelection() Empties the current selection. If this represents a change in the current selection, the selection listeners are notified. | |
| getLeadSelectionPath | back to summary |
|---|---|
| public TreePath getLeadSelectionPath() Returns the last path that was added. This may differ from the leadSelectionPath property maintained by the JTree.
| |
| getLeadSelectionRow | back to summary |
|---|---|
| public int getLeadSelectionRow() Returns the lead selection index. That is the last index that was added.
| |
| getMaxSelectionRow | back to summary |
|---|---|
| public int getMaxSelectionRow() Returns the largest value obtained from the RowMapper for the current set of selected TreePaths. If nothing is selected, or there is no RowMapper, this will return -1.
| |
| getMinSelectionRow | back to summary |
|---|---|
| public int getMinSelectionRow() Returns the smallest value obtained from the RowMapper for the current set of selected TreePaths. If nothing is selected, or there is no RowMapper, this will return -1.
| |
| getRowMapper | back to summary |
|---|---|
| public RowMapper getRowMapper() Returns the RowMapper instance that is able to map a TreePath to a row.
| |
| getSelectionCount | back to summary |
|---|---|
| public int getSelectionCount() Returns the number of paths that are selected.
| |
| getSelectionMode | back to summary |
|---|---|
| public int getSelectionMode() Returns the current selection mode, one of
| |
| getSelectionPath | back to summary |
|---|---|
| public TreePath getSelectionPath() Returns the first path in the selection. How first is defined is
up to implementors, and may not necessarily be the TreePath with
the smallest integer value as determined from the
| |
| getSelectionPaths | back to summary |
|---|---|
| public TreePath[] getSelectionPaths() Returns the paths in the selection. This will return null (or an empty array) if nothing is currently selected.
| |
| getSelectionRows | back to summary |
|---|---|
| public int[] getSelectionRows() Returns all of the currently selected rows. This will return null (or an empty array) if there are no selected TreePaths or a RowMapper has not been set.
| |
| isPathSelected | back to summary |
|---|---|
| public boolean isPathSelected(TreePath path) Returns true if the path,
| |
| isRowSelected | back to summary |
|---|---|
| public boolean isRowSelected(int row) Returns true if the row identified by
| |
| isSelectionEmpty | back to summary |
|---|---|
| public boolean isSelectionEmpty() Returns true if the selection is currently empty.
| |
| removePropertyChangeListener | back to summary |
|---|---|
| public void removePropertyChangeListener(PropertyChangeListener listener) Removes a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.
| |
| removeSelectionPath | back to summary |
|---|---|
| public void removeSelectionPath(TreePath path) Removes path from the selection. If path is in the selection
The TreeSelectionListeners are notified. This has no effect if
| |
| removeSelectionPaths | back to summary |
|---|---|
| public void removeSelectionPaths(TreePath[] paths) Removes paths from the selection. If any of the paths in
| |
| removeTreeSelectionListener | back to summary |
|---|---|
| public void removeTreeSelectionListener(TreeSelectionListener x) Removes x from the list of listeners that are notified each time the set of selected TreePaths changes.
| |
| resetRowSelection | back to summary |
|---|---|
| public void resetRowSelection() Updates this object's mapping from TreePaths to rows. This should be invoked when the mapping from TreePaths to integers has changed (for example, a node has been expanded). You do not normally have to call this; JTree and its associated listeners will invoke this for you. If you are implementing your own view class, then you will have to invoke this. | |
| setRowMapper | back to summary |
|---|---|
| public void setRowMapper(RowMapper newMapper) Sets the RowMapper instance. This instance is used to determine the row for a particular TreePath.
| |
| setSelectionMode | back to summary |
|---|---|
| public void setSelectionMode(int mode) Sets the selection model, which must be one of SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.
This may change the selection if the current selection is not valid
for the new mode. For example, if three TreePaths are
selected when the mode is changed to
| |
| setSelectionPath | back to summary |
|---|---|
| public void setSelectionPath(TreePath path) Sets the selection to path. If this represents a change, then
the TreeSelectionListeners are notified. If
| |
| setSelectionPaths | back to summary |
|---|---|
| public void setSelectionPaths(TreePath[] paths) Sets the selection to path. If this represents a change, then
the TreeSelectionListeners are notified. If
| |