T - The type of the item contained within the TreeItem value
      property for all tree items in this TreeView.@DefaultProperty(value="root") public class TreeView<T> extends Control
TreeItem). By using a TreeView, it is possible to drill down into the
 children of a TreeItem, recursively until a TreeItem has no children (that is,
 it is a leaf node in the tree). To facilitate this, unlike controls
 like ListView, in TreeView it is necessary to only 
 specify the root node. 
 
 For more information on building up a tree using this approach, refer to the 
 TreeItem class documentation. Briefly however, to create a TreeView, 
 you should do something along the lines of the following:
 
 TreeItem<String> root = new TreeItem<String>("Root Node");
 root.setExpanded(true);
 root.getChildren().addAll(
     new TreeItem<String>("Item 1"),
     new TreeItem<String>("Item 2"),
     new TreeItem<String>("Item 3")
 );
 TreeView<String> treeView = new TreeView<String>(root);
 
 A TreeView may be configured to optionally hide the root node by setting the
 showRoot property to false. If the root
 node is hidden, there is one less level of indentation, and all children
 nodes of the root node are shown. By default, the root node is shown in the
 TreeView.
 
 
To track selection and focus, it is necessary to become familiar with the
 SelectionModel and FocusModel classes. A TreeView has at most
 one instance of each of these classes, available from 
 selectionModel and 
 focusModel properties respectively.
 Whilst it is possible to use this API to set a new selection model, in
 most circumstances this is not necessary - the default selection and focus
 models should work in most circumstances.
 
 
The default SelectionModel used when instantiating a TreeView is
 an implementation of the MultipleSelectionModel abstract class. 
 However, as noted in the API documentation for
 the selectionMode
 property, the default value is SelectionMode.SINGLE. To enable 
 multiple selection in a default TreeView instance, it is therefore necessary
 to do the following:
 
 
 treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
 
 The visuals of the TreeView can be entirely customized by replacing the 
 default cell factory. A cell factory is used to
 generate TreeCell instances, which are used to represent an item in the
 TreeView. See the Cell class documentation for a more complete
 description of how to write custom Cells.
| Type | Property and Description | 
|---|---|
| ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> | cellFactoryRepresents the cell factory that will be used for creating TreeCells,
 which are used to represent items in the TreeView. | 
| BooleanProperty | editableSpecifies whether this TreeView is editable - only if the TreeView and
 the TreeCells within it are both editable will a TreeCell be able to go
 into their editing state. | 
| ReadOnlyObjectProperty<TreeItem<T>> | editingItemA property used to represent the TreeItem currently being edited
 in the TreeView, if editing is taking place, or -1 if no item is being edited. | 
| ObjectProperty<FocusModel<TreeItem<T>>> | focusModelThe FocusModel provides the API through which it is possible
 to control focus on zero or one rows of the TreeView. | 
| ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCancelThis event handler will be fired when the user cancels editing a cell. | 
| ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCommitThis property is used when the user performs an action that should
 result in their editing input being persisted. | 
| ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditStartThis event handler will be fired when the user successfully initiates
 editing. | 
| ObjectProperty<TreeItem<T>> | rootProperty representing the root node of the TreeView. | 
| ObjectProperty<MultipleSelectionModel<TreeItem<T>>> | selectionModelThe SelectionModel provides the API through which it is possible
 to select single or multiple items within a TreeView, as  well as inspect
 which rows have been selected by the user. | 
| BooleanProperty | showRootProperty that represents whether or not the TreeView root node is visible. | 
contextMenu, height, maxHeight, maxWidth, minHeight, minWidth, prefHeight, prefWidth, skinClassName, skin, tooltip, widthneedsLayoutblendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, visible| Modifier and Type | Class and Description | 
|---|---|
| static class  | TreeView.EditEvent<T>An  Eventsubclass used specifically in TreeView for representing
 edit-related events. | 
USE_COMPUTED_SIZE, USE_PREF_SIZE| Constructor and Description | 
|---|
| TreeView()Creates an empty TreeView. | 
| TreeView(TreeItem<T> root)Creates a TreeView with the provided root node. | 
| Modifier and Type | Method and Description | 
|---|---|
| ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> | cellFactoryProperty()Represents the cell factory that will be used for creating TreeCells,
 which are used to represent items in the TreeView. | 
| void | edit(TreeItem<T> item)Instructs the TreeView to begin editing the given TreeItem, if 
 the TreeView is  editable. | 
| BooleanProperty | editableProperty()Specifies whether this TreeView is editable - only if the TreeView and
 the TreeCells within it are both editable will a TreeCell be able to go
 into their editing state. | 
| static <T> EventType<TreeView.EditEvent<T>> | editAnyEvent()An EventType that indicates some edit event has occurred. | 
| static <T> EventType<TreeView.EditEvent<T>> | editCancelEvent()An EventType used to indicate that an edit event has just been canceled
 within the TreeView upon which the event was fired. | 
| static <T> EventType<TreeView.EditEvent<T>> | editCommitEvent()An EventType that is used to indicate that an edit in a TreeView has been
 committed. | 
| ReadOnlyObjectProperty<TreeItem<T>> | editingItemProperty()A property used to represent the TreeItem currently being edited
 in the TreeView, if editing is taking place, or -1 if no item is being edited. | 
| static <T> EventType<TreeView.EditEvent<T>> | editStartEvent()An EventType used to indicate that an edit event has started within the
 TreeView upon which the event was fired. | 
| ObjectProperty<FocusModel<TreeItem<T>>> | focusModelProperty()The FocusModel provides the API through which it is possible
 to control focus on zero or one rows of the TreeView. | 
| Callback<TreeView<T>,TreeCell<T>> | getCellFactory()Returns the cell factory that will be used for creating TreeCells,
 which are used to represent items in the TreeView, or null if no custom
 cell factory has been set. | 
| TreeItem<T> | getEditingItem()Returns the TreeItem that is currently being edited in the TreeView,
 or null if no item is being edited. | 
| FocusModel<TreeItem<T>> | getFocusModel()Returns the currently installed  FocusModel. | 
| static int | getNodeLevel(TreeItem<?> node)Returns the number of levels of 'indentation' of the given TreeItem, 
 based on how many times getParent() can be recursively called. | 
| EventHandler<TreeView.EditEvent<T>> | getOnEditCancel()Returns the  EventHandlerthat will be called when the user cancels
 an edit. | 
| EventHandler<TreeView.EditEvent<T>> | getOnEditCommit()Returns the  EventHandlerthat will be called when the user commits
 an edit. | 
| EventHandler<TreeView.EditEvent<T>> | getOnEditStart()Returns the  EventHandlerthat will be called when the user begins
 an edit. | 
| TreeItem<T> | getRoot()Returns the current root node of this TreeView, or null if no root node
 is specified. | 
| int | getRow(TreeItem<T> item)Returns the index position of the given TreeItem, taking into account the
 current state of each TreeItem (i.e. | 
| MultipleSelectionModel<TreeItem<T>> | getSelectionModel()Returns the currently installed selection model. | 
| TreeItem<T> | getTreeItem(int row)Returns the TreeItem in the given index, or null if it is out of bounds. | 
| boolean | isEditable()Gets the value of the property editable. | 
| boolean | isShowRoot()Returns true if the root of the TreeView should be shown, and false if
 it should not. | 
| protected void | layoutChildren()Invoked during the layout pass to layout the children in this
  Parent. | 
| ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCancelProperty()This event handler will be fired when the user cancels editing a cell. | 
| ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditCommitProperty()This property is used when the user performs an action that should
 result in their editing input being persisted. | 
| ObjectProperty<EventHandler<TreeView.EditEvent<T>>> | onEditStartProperty()This event handler will be fired when the user successfully initiates
 editing. | 
| ObjectProperty<TreeItem<T>> | rootProperty()Property representing the root node of the TreeView. | 
| void | scrollTo(int index)Scrolls the TreeView such that the item in the given index is visible to
 the end user. | 
| ObjectProperty<MultipleSelectionModel<TreeItem<T>>> | selectionModelProperty()The SelectionModel provides the API through which it is possible
 to select single or multiple items within a TreeView, as  well as inspect
 which rows have been selected by the user. | 
| void | setCellFactory(Callback<TreeView<T>,TreeCell<T>> value)Sets the cell factory that will be used for creating TreeCells,
 which are used to represent items in the
 TreeView. | 
| void | setEditable(boolean value)Sets the value of the property editable. | 
| void | setFocusModel(FocusModel<TreeItem<T>> value)Sets the  FocusModelto be used in the TreeView. | 
| void | setOnEditCancel(EventHandler<TreeView.EditEvent<T>> value)Sets the  EventHandlerthat will be called when the user cancels
 an edit. | 
| void | setOnEditCommit(EventHandler<TreeView.EditEvent<T>> value)Sets the  EventHandlerthat will be called when the user commits
 an edit. | 
| void | setOnEditStart(EventHandler<TreeView.EditEvent<T>> value)Sets the  EventHandlerthat will be called when the user begins
 an edit. | 
| void | setRoot(TreeItem<T> value)Sets the root node in this TreeView. | 
| void | setSelectionModel(MultipleSelectionModel<TreeItem<T>> value)Sets the  MultipleSelectionModelto be used in the TreeView. | 
| void | setShowRoot(boolean value)Specifies whether the root  TreeItemshould be shown within this 
 TreeView. | 
| BooleanProperty | showRootProperty()Property that represents whether or not the TreeView root node is visible. | 
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getHeight, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getPrefHeight, getPrefWidth, getSkin, getTooltip, getUserAgentStylesheet, getWidth, heightProperty, intersects, isResizable, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, setContextMenu, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setPrefHeight, setPrefSize, setPrefWidth, setSkin, setSkinClassName, setTooltip, setWidth, skinClassNameProperty, skinProperty, tooltipProperty, widthPropertygetChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, setNeedsLayoutaddEventFilter, addEventHandler, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getUserData, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToSceneTransformProperty, lookupAll, managedProperty, mouseTransparentProperty, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, visiblePropertypublic final ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> cellFactoryProperty
getCellFactory(), 
setCellFactory(Callback)public final ObjectProperty<TreeItem<T>> rootProperty
getRoot(), 
setRoot(TreeItem)public final BooleanProperty showRootProperty
isShowRoot(), 
setShowRoot(boolean)public final ObjectProperty<MultipleSelectionModel<TreeItem<T>>> selectionModelProperty
public final ObjectProperty<FocusModel<TreeItem<T>>> focusModelProperty
getFocusModel(), 
setFocusModel(FocusModel)public final BooleanProperty editableProperty
isEditable(), 
setEditable(boolean)public final ReadOnlyObjectProperty<TreeItem<T>> editingItemProperty
A property used to represent the TreeItem currently being edited in the TreeView, if editing is taking place, or -1 if no item is being edited.
It is not possible to set the editing item, instead it is required that
 you call edit(javafx.scene.control.TreeItem).
getEditingItem()public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditStartProperty
getOnEditStart(), 
setOnEditStart(EventHandler)public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCommitProperty
This property is used when the user performs an action that should result in their editing input being persisted.
The EventHandler in this property should not be called directly - 
 instead call TreeCell.commitEdit(java.lang.Object) from within
 your custom TreeCell. This will handle firing this event, updating the 
 view, and switching out of the editing state.
public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCancelProperty
public TreeView()
Refer to the ListView class documentation for details on the
 default state of other properties.
public static <T> EventType<TreeView.EditEvent<T>> editAnyEvent()
editStartEvent(),
  editCommitEvent() and editCancelEvent().public static <T> EventType<TreeView.EditEvent<T>> editStartEvent()
public static <T> EventType<TreeView.EditEvent<T>> editCancelEvent()
public static <T> EventType<TreeView.EditEvent<T>> editCommitEvent()
public static int getNodeLevel(TreeItem<?> node)
node - The TreeItem for which the level is needed.public final void setCellFactory(Callback<TreeView<T>,TreeCell<T>> value)
Refer to the Cell class documentation for more details.
value - The Callback to use for generating TreeCell instances,
      or null if the default cell factory should be used.public final Callback<TreeView<T>,TreeCell<T>> getCellFactory()
Returns the cell factory that will be used for creating TreeCells, which are used to represent items in the TreeView, or null if no custom cell factory has been set.
public final ObjectProperty<Callback<TreeView<T>,TreeCell<T>>> cellFactoryProperty()
getCellFactory(), 
setCellFactory(Callback)public final void setRoot(TreeItem<T> value)
TreeItem class level
 documentation for more details.value - The TreeItem that will be placed at the root of the
      TreeView.public final TreeItem<T> getRoot()
public final ObjectProperty<TreeItem<T>> rootProperty()
getRoot(), 
setRoot(TreeItem)public final void setShowRoot(boolean value)
TreeItem should be shown within this 
 TreeView.value - If true, the root TreeItem will be shown, and if false it
      will be hidden.public final boolean isShowRoot()
public final BooleanProperty showRootProperty()
isShowRoot(), 
setShowRoot(boolean)public final void setSelectionModel(MultipleSelectionModel<TreeItem<T>> value)
MultipleSelectionModel to be used in the TreeView. 
 Despite a TreeView requiring a MultipleSelectionModel,
 it is possible to configure it to only allow single selection (see 
 MultipleSelectionModel.setSelectionMode(javafx.scene.control.SelectionMode)
 for more information).public final MultipleSelectionModel<TreeItem<T>> getSelectionModel()
public final ObjectProperty<MultipleSelectionModel<TreeItem<T>>> selectionModelProperty()
public final void setFocusModel(FocusModel<TreeItem<T>> value)
FocusModel to be used in the TreeView.public final FocusModel<TreeItem<T>> getFocusModel()
FocusModel.public final ObjectProperty<FocusModel<TreeItem<T>>> focusModelProperty()
getFocusModel(), 
setFocusModel(FocusModel)public final void setEditable(boolean value)
public final boolean isEditable()
public final BooleanProperty editableProperty()
isEditable(), 
setEditable(boolean)public final TreeItem<T> getEditingItem()
public final ReadOnlyObjectProperty<TreeItem<T>> editingItemProperty()
A property used to represent the TreeItem currently being edited in the TreeView, if editing is taking place, or -1 if no item is being edited.
It is not possible to set the editing item, instead it is required that
 you call edit(javafx.scene.control.TreeItem).
getEditingItem()public final void setOnEditStart(EventHandler<TreeView.EditEvent<T>> value)
EventHandler that will be called when the user begins
 an edit.public final EventHandler<TreeView.EditEvent<T>> getOnEditStart()
EventHandler that will be called when the user begins
 an edit.public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditStartProperty()
getOnEditStart(), 
setOnEditStart(EventHandler)public final void setOnEditCommit(EventHandler<TreeView.EditEvent<T>> value)
EventHandler that will be called when the user commits
 an edit.public final EventHandler<TreeView.EditEvent<T>> getOnEditCommit()
EventHandler that will be called when the user commits
 an edit.public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCommitProperty()
This property is used when the user performs an action that should result in their editing input being persisted.
The EventHandler in this property should not be called directly - 
 instead call TreeCell.commitEdit(java.lang.Object) from within
 your custom TreeCell. This will handle firing this event, updating the 
 view, and switching out of the editing state.
public final void setOnEditCancel(EventHandler<TreeView.EditEvent<T>> value)
EventHandler that will be called when the user cancels
 an edit.public final EventHandler<TreeView.EditEvent<T>> getOnEditCancel()
EventHandler that will be called when the user cancels
 an edit.public final ObjectProperty<EventHandler<TreeView.EditEvent<T>>> onEditCancelProperty()
protected void layoutChildren()
Parent. By default it will only set the size of managed,
 resizable content to their preferred sizes and does not do any node
 positioning.
 Subclasses should override this function to layout content as needed.
layoutChildren in class Controlpublic void edit(TreeItem<T> item)
editable. Once
 this method is called, if the current 
 cell factory is set up to support editing,
 the Cell will switch its visual state to enable the user input to take place.item - The TreeItem in the TreeView that should be edited.public void scrollTo(int index)
index - The index that should be made visible to the user, assuming
      of course that it is greater than, or equal to 0, and less than the
      number of the visible items in the TreeView.public int getRow(TreeItem<T> item)
item - The TreeItem for which the index is sought.Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.