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)