public interface CheckBoxTreeModel
extends javax.swing.tree.TreeModel
boolean
, and the model only allows the state of an object to be explicitly set to true or false. However, the state of a non-leaf object is a strict function of the state of its children. When the state of the children is mixed, the state of the parent is neither true nor false; the model represents the mixed state as null and so getState(java.lang.Object)
returns Boolean
rather than boolean
.
The parent-child constraints on the checkbox state make maintaining the state and firing change events a little tricky. AbstractCheckBoxTreeModel
implements this interface to provide that logic for subclasses.
AbstractCheckBoxTreeModel
Modifier and Type | Method and Description |
---|---|
java.lang.String |
convertValueToText(java.lang.Object value)
Gets the label text for an object in this tree.
|
java.lang.Boolean |
getState(java.lang.Object object)
Gets the selection state of an object in this tree.
|
void |
stateForPathChanged(javax.swing.tree.TreePath path, boolean newState)
Sets the selection state of an object in this tree.
|
java.lang.Boolean getState(java.lang.Object object)
Gets Boolean.TRUE
or Boolean.FALSE
if the object is selected or unselected, respectively, and null
if it is neither (e.g., if it is not a leaf node and some but not all of its children are selected).
void stateForPathChanged(javax.swing.tree.TreePath path, boolean newState)
treeNodesChanged
events for any objects in the tree for which the selection state actually changes.path
- path to the object whose state was changed by the user.newState
- the new state from the user.java.lang.String convertValueToText(java.lang.Object value)