- java.lang.Object
-
- javafx.scene.control.TreeItem<T>
-
- javafx.scene.control.CheckBoxTreeItem<T>
-
- Type Parameters:
T
- The type of the value contained within the TreeItem
- All Implemented Interfaces:
EventTarget
public class CheckBoxTreeItem<T> extends TreeItem<T>
TreeItem subclass that adds support for being in selected, unselected, and indeterminate states. This is useful when used in conjunction with a TreeView which has aCheckBoxTreeCell
installed.A CheckBoxTreeItem can be
independent
or dependent. By default, CheckBoxTreeItem instances are dependent, which means that any changes to the selection state of a TreeItem will have an impact on parent and children CheckBoxTreeItem instances. If a CheckBoxTreeItem is set to be independent, this means that any changes to that CheckBoxTreeItem will not directly impact the state of parent and children CheckBoxTreeItem instances.The
indeterminate
property is used to represent the same concept as that inCheckBox.indeterminateProperty()
, namely, that the CheckBox is neither selected or unselected. This is commonly used inside a TreeView when some, but not all, of a branches children are selected.A simple example of using the CheckBoxTreeItem class, in conjunction with
CheckBoxTreeCell
is shown below:// create the tree model CheckBoxTreeItem<String> jonathanGiles = new CheckBoxTreeItem<>("Jonathan"); CheckBoxTreeItem<String> juliaGiles = new CheckBoxTreeItem<>("Julia"); CheckBoxTreeItem<String> mattGiles = new CheckBoxTreeItem<>("Matt"); CheckBoxTreeItem<String> sueGiles = new CheckBoxTreeItem<>("Sue"); CheckBoxTreeItem<String> ianGiles = new CheckBoxTreeItem<>("Ian"); CheckBoxTreeItem<String> gilesFamily = new CheckBoxTreeItem<>("Giles Family"); gilesFamily.setExpanded(true); gilesFamily.getChildren().addAll(jonathanGiles, juliaGiles, mattGiles, sueGiles, ianGiles); // create the treeView final TreeView<String> treeView = new TreeView<>(); treeView.setRoot(gilesFamily); // set the cell factory treeView.setCellFactory(CheckBoxTreeCell.<String>forTreeView());
- Since:
- JavaFX 2.2
- See Also:
CheckBoxTreeCell
,TreeItem
,CheckBox
-
-
Property Summary
Properties Type Property Description BooleanProperty
independent
ABooleanProperty
used to represent the independent state of this CheckBoxTreeItem.BooleanProperty
indeterminate
ABooleanProperty
used to represent the indeterminate state of this CheckBoxTreeItem.BooleanProperty
selected
ABooleanProperty
used to represent the selected state of this CheckBoxTreeItem.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CheckBoxTreeItem.TreeModificationEvent<T>
A TreeModificationEvent class that works in a similar vein to theTreeItem.TreeModificationEvent
class, in that this event will bubble up the CheckBoxTreeItem hierarchy, until the parent node is null.
-
Constructor Summary
Constructors Constructor Description CheckBoxTreeItem()
Creates an empty CheckBoxTreeItem.CheckBoxTreeItem(T value)
Creates a CheckBoxTreeItem with the value property set to the provided object.CheckBoxTreeItem(T value, Node graphic)
Creates a CheckBoxTreeItem with the value property set to the provided object, and the graphic set to the provided Node.CheckBoxTreeItem(T value, Node graphic, boolean selected)
Creates a CheckBoxTreeItem with the value property set to the provided object, the graphic set to the provided Node, and the initial state of theselectedProperty()
set to the provided boolean value.CheckBoxTreeItem(T value, Node graphic, boolean selected, boolean independent)
Creates a CheckBoxTreeItem with the value property set to the provided object, the graphic set to the provided Node, the initial state of theselectedProperty()
set to the provided boolean value, and the initial state of theindependent
property to the provided boolean value.
-
Method Summary
Modifier and Type Method Description static <T> EventType<CheckBoxTreeItem.TreeModificationEvent<T>>
checkBoxSelectionChangedEvent()
An EventType used when the CheckBoxTreeItem selection / indeterminate state changes.BooleanProperty
independentProperty()
ABooleanProperty
used to represent the independent state of this CheckBoxTreeItem.BooleanProperty
indeterminateProperty()
ABooleanProperty
used to represent the indeterminate state of this CheckBoxTreeItem.boolean
isIndependent()
Gets the value of the property independent.boolean
isIndeterminate()
Returns the indeterminate state of this CheckBoxTreeItem.boolean
isSelected()
Returns the selected state of this CheckBoxTreeItem.BooleanProperty
selectedProperty()
ABooleanProperty
used to represent the selected state of this CheckBoxTreeItem.void
setIndependent(boolean value)
Sets the value of the property independent.void
setIndeterminate(boolean value)
Sets the indeterminate state of this CheckBoxTreeItem.void
setSelected(boolean value)
Sets the selected state of this CheckBoxTreeItem.-
Methods inherited from class javafx.scene.control.TreeItem
addEventHandler, branchCollapsedEvent, branchExpandedEvent, buildEventDispatchChain, childrenModificationEvent, expandedItemCountChangeEvent, expandedProperty, getChildren, getGraphic, getParent, getValue, graphicChangedEvent, graphicProperty, isExpanded, isLeaf, leafProperty, nextSibling, nextSibling, parentProperty, previousSibling, previousSibling, removeEventHandler, setExpanded, setGraphic, setValue, toString, treeNotificationEvent, valueChangedEvent, valueProperty
-
-
-
-
Property Detail
-
selected
public final BooleanProperty selectedProperty
ABooleanProperty
used to represent the selected state of this CheckBoxTreeItem.- Returns:
- the selected state property of this CheckBoxTreeItem
-
indeterminate
public final BooleanProperty indeterminateProperty
ABooleanProperty
used to represent the indeterminate state of this CheckBoxTreeItem.- See Also:
isIndeterminate()
,setIndeterminate(boolean)
-
independent
public final BooleanProperty independentProperty
ABooleanProperty
used to represent the independent state of this CheckBoxTreeItem. The independent state is used to represent whether changes to a single CheckBoxTreeItem should influence the state of its parent and children.By default, the independent property is false, which means that when a CheckBoxTreeItem has state changes to the selected or indeterminate properties, the state of related CheckBoxTreeItems will possibly be changed. If the independent property is set to true, the state of related CheckBoxTreeItems will never change.
- See Also:
isIndependent()
,setIndependent(boolean)
-
-
Constructor Detail
-
CheckBoxTreeItem
public CheckBoxTreeItem()
Creates an empty CheckBoxTreeItem.
-
CheckBoxTreeItem
public CheckBoxTreeItem(T value)
Creates a CheckBoxTreeItem with the value property set to the provided object.- Parameters:
value
- The object to be stored as the value of this TreeItem.
-
CheckBoxTreeItem
public CheckBoxTreeItem(T value, Node graphic)
Creates a CheckBoxTreeItem with the value property set to the provided object, and the graphic set to the provided Node.- Parameters:
value
- The object to be stored as the value of this CheckBoxTreeItem.graphic
- The Node to show in the TreeView next to this CheckBoxTreeItem.
-
CheckBoxTreeItem
public CheckBoxTreeItem(T value, Node graphic, boolean selected)
Creates a CheckBoxTreeItem with the value property set to the provided object, the graphic set to the provided Node, and the initial state of theselectedProperty()
set to the provided boolean value.- Parameters:
value
- The object to be stored as the value of this CheckBoxTreeItem.graphic
- The Node to show in the TreeView next to this CheckBoxTreeItem.selected
- The initial value of theselected
property.
-
CheckBoxTreeItem
public CheckBoxTreeItem(T value, Node graphic, boolean selected, boolean independent)
Creates a CheckBoxTreeItem with the value property set to the provided object, the graphic set to the provided Node, the initial state of theselectedProperty()
set to the provided boolean value, and the initial state of theindependent
property to the provided boolean value.- Parameters:
value
- The object to be stored as the value of this CheckBoxTreeItem.graphic
- The Node to show in the TreeView next to this CheckBoxTreeItem.selected
- The initial value of theselected
property.independent
- The initial value of theindependent
property
-
-
Method Detail
-
checkBoxSelectionChangedEvent
public static <T> EventType<CheckBoxTreeItem.TreeModificationEvent<T>> checkBoxSelectionChangedEvent()
An EventType used when the CheckBoxTreeItem selection / indeterminate state changes. To use this, it is recommended that you use code along the lines of the following:child1.addEventHandler(CheckBoxTreeItem.<String>checkBoxSelectionChangedEvent(), new EventHandler<TreeModificationEvent<String>>() { public void handle(TreeModificationEvent<String> event) { ... } });
- Type Parameters:
T
- The type of the value contained within the TreeItem.- Returns:
- the EventType used when the CheckBoxTreeItem selection / indeterminate state changes
-
setSelected
public final void setSelected(boolean value)
Sets the selected state of this CheckBoxTreeItem.- Parameters:
value
- the selected state of this CheckBoxTreeItem
-
isSelected
public final boolean isSelected()
Returns the selected state of this CheckBoxTreeItem.- Returns:
- true if CheckBoxTreeItem is selected
-
selectedProperty
public final BooleanProperty selectedProperty()
ABooleanProperty
used to represent the selected state of this CheckBoxTreeItem.- Returns:
- the selected state property of this CheckBoxTreeItem
-
setIndeterminate
public final void setIndeterminate(boolean value)
Sets the indeterminate state of this CheckBoxTreeItem.- Parameters:
value
- the indeterminate state of this CheckBoxTreeItem
-
isIndeterminate
public final boolean isIndeterminate()
Returns the indeterminate state of this CheckBoxTreeItem.- Returns:
- true if CheckBoxTreeItem is indeterminate state
-
indeterminateProperty
public final BooleanProperty indeterminateProperty()
ABooleanProperty
used to represent the indeterminate state of this CheckBoxTreeItem.- See Also:
isIndeterminate()
,setIndeterminate(boolean)
-
independentProperty
public final BooleanProperty independentProperty()
ABooleanProperty
used to represent the independent state of this CheckBoxTreeItem. The independent state is used to represent whether changes to a single CheckBoxTreeItem should influence the state of its parent and children.By default, the independent property is false, which means that when a CheckBoxTreeItem has state changes to the selected or indeterminate properties, the state of related CheckBoxTreeItems will possibly be changed. If the independent property is set to true, the state of related CheckBoxTreeItems will never change.
- See Also:
isIndependent()
,setIndependent(boolean)
-
setIndependent
public final void setIndependent(boolean value)
Sets the value of the property independent.- Property description:
- A
BooleanProperty
used to represent the independent state of this CheckBoxTreeItem. The independent state is used to represent whether changes to a single CheckBoxTreeItem should influence the state of its parent and children.By default, the independent property is false, which means that when a CheckBoxTreeItem has state changes to the selected or indeterminate properties, the state of related CheckBoxTreeItems will possibly be changed. If the independent property is set to true, the state of related CheckBoxTreeItems will never change.
-
isIndependent
public final boolean isIndependent()
Gets the value of the property independent.- Property description:
- A
BooleanProperty
used to represent the independent state of this CheckBoxTreeItem. The independent state is used to represent whether changes to a single CheckBoxTreeItem should influence the state of its parent and children.By default, the independent property is false, which means that when a CheckBoxTreeItem has state changes to the selected or indeterminate properties, the state of related CheckBoxTreeItems will possibly be changed. If the independent property is set to true, the state of related CheckBoxTreeItems will never change.
-
-