Class GTreeSelectionModel
- All Implemented Interfaces:
Serializable
,Cloneable
,TreeSelectionModel
As an example usage, imagine an event cycle, where a change in the tree selection causes a change in some other GUI component and changes in the other GUI component cause a change in the tree selection. In this scenario, to avoid bouncing back and forth, the TreeSelectionListener can check if the tree selection change was caused by the user or by an API call responding to the change in the other GUI component, thereby breaking the cycle.
With this selection model the user can check the origin of the event with a call to:
public void valueChanged(GTreeSelectionEvent e) { if ( e.getEventOrigin() == EventOrigin.USER_GENERATED ) { // respond to user selection } }
- See Also:
-
Field Summary
Fields inherited from class javax.swing.tree.DefaultTreeSelectionModel
changeSupport, leadIndex, leadPath, leadRow, listenerList, listSelectionModel, rowMapper, selection, SELECTION_MODE_PROPERTY, selectionMode
Fields inherited from interface javax.swing.tree.TreeSelectionModel
CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
protected void
void
final void
removeSelectionPaths
(TreePath[] paths) void
setSelectionPaths
(TreePath[] paths, GTreeSelectionEvent.EventOrigin origin) final void
This method allows the GTree's JTree to tell this selection model when a selection has been removed due to the user clicking.Methods inherited from class javax.swing.tree.DefaultTreeSelectionModel
addPropertyChangeListener, addSelectionPath, addSelectionPaths, addTreeSelectionListener, arePathsContiguous, canPathsBeAdded, canPathsBeRemoved, clone, getLeadSelectionPath, getLeadSelectionRow, getListeners, getMaxSelectionRow, getMinSelectionRow, getPropertyChangeListeners, getRowMapper, getSelectionCount, getSelectionMode, getSelectionPath, getSelectionPaths, getSelectionRows, getTreeSelectionListeners, insureRowContinuity, insureUniqueness, isPathSelected, isRowSelected, isSelectionEmpty, notifyPathChange, removePropertyChangeListener, removeSelectionPath, removeTreeSelectionListener, resetRowSelection, setRowMapper, setSelectionMode, setSelectionPath, setSelectionPaths, toString, updateLeadIndex
-
Constructor Details
-
GTreeSelectionModel
public GTreeSelectionModel()
-
-
Method Details
-
addGTreeSelectionListener
-
removeGTreeSelectionListener
-
fireValueChanged
- Overrides:
fireValueChanged
in classDefaultTreeSelectionModel
-
clearSelection
public void clearSelection()- Specified by:
clearSelection
in interfaceTreeSelectionModel
- Overrides:
clearSelection
in classDefaultTreeSelectionModel
-
removeSelectionPaths
- Specified by:
removeSelectionPaths
in interfaceTreeSelectionModel
- Overrides:
removeSelectionPaths
in classDefaultTreeSelectionModel
-
userRemovedSelectionPath
This method allows the GTree's JTree to tell this selection model when a selection has been removed due to the user clicking.Implementation Note: this method is needed because
removeSelectionPaths(TreePath[])
marks all events asGTreeSelectionEvent.EventOrigin.INTERNAL_GENERATED
. Our intention is to mark any tree housekeeping as internal, with user operations being marked appropriately.- Parameters:
path
- the path that is to be removed
-
setSelectionPaths
-