TreeCell (JavaFX 17)

Module javafx.controls
Package javafx.scene.control

## Class TreeCell<T>

- java.lang.Object
- - javafx.scene.Node
  - - javafx.scene.Parent
    - - javafx.scene.layout.Region
      - - javafx.scene.control.Control
        - - javafx.scene.control.Labeled
          - - javafx.scene.control.Cell<T>
            - - javafx.scene.control.IndexedCell<T>
              - - javafx.scene.control.TreeCell<T>

- Type Parameters:
    `T` - The type of the value contained within the `TreeItem` property.
  All Implemented Interfaces:
    `Styleable`, `EventTarget`, `Skinnable`
  Direct Known Subclasses:
    `CheckBoxTreeCell`, `ChoiceBoxTreeCell`, `ComboBoxTreeCell`, `TextFieldTreeCell`

      public class TreeCell<T>
      extends IndexedCell<T>

  The `Cell` type used with the `TreeView` control. In addition to the API defined on `IndexedCell`, the TreeCell exposes additional states and pseudo classes for use by CSS.

  A TreeCell watches the selection model of the TreeView for which it is associated, ensuring that it visually indicates to the user whether it is selected. When a TreeCell is selected, this is exposed both via the `selected` property, as well as via the 'selected' CSS pseudo class state.

  Due to the fact that TreeCell extends from `IndexedCell`, each TreeCell also provides an `index` property. The index will be updated as cells are expanded and collapsed, and therefore should be considered a view index rather than a model index.

  Finally, each TreeCell also has a reference back to the TreeView that it is being used with. Each TreeCell belongs to one and only one TreeView.

  Since:
    JavaFX 2.0
  See Also:
    `TreeView`, `TreeItem`

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ObjectProperty<Node>` | `disclosureNode` | The disclosure node is commonly seen represented as a triangle that rotates on screen to indicate whether or not the TreeItem that it is placed beside is expanded or collapsed.
    `ReadOnlyObjectProperty<TreeItem<T>>` | `treeItem` | Each TreeCell represents at most a single `TreeItem`, which is represented by this property.
    `ReadOnlyObjectProperty<TreeView<T>>` | `treeView` | A TreeCell is explicitly linked to a single `TreeView` instance, which is represented by this property.

    - ### Properties declared in class javafx.scene.control.IndexedCell

      `index`

    - ### Properties declared in class javafx.scene.control.Cell

      `editable, editing, empty, item, selected`

    - ### Properties declared in class javafx.scene.control.Labeled

      `alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText`

    - ### Properties declared in class javafx.scene.control.Control

      `contextMenu, skin, tooltip`

    - ### Properties declared in class javafx.scene.layout.Region

      `background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width`

    - ### Properties declared in class javafx.scene.Parent

      `needsLayout`

    - ### Properties declared in class javafx.scene.Node

      `accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, 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, viewOrder, visible`

  - ### Field Summary

    - ### Fields declared in class javafx.scene.layout.Region

      `USE_COMPUTED_SIZE, USE_PREF_SIZE`

    - ### Fields declared in class javafx.scene.Node

      `BASELINE_OFFSET_SAME_AS_HEIGHT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TreeCell()` | Creates a default TreeCell instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectProperty<Node>` | `disclosureNodeProperty()` | The disclosure node is commonly seen represented as a triangle that rotates on screen to indicate whether or not the TreeItem that it is placed beside is expanded or collapsed.
    `Node` | `getDisclosureNode()` | Returns the current disclosure node set in this TreeCell.
    `TreeItem<T>` | `getTreeItem()` | Returns the TreeItem currently set in this TreeCell.
    `TreeView<T>` | `getTreeView()` | Returns the TreeView associated with this TreeCell.
    `void` | `setDisclosureNode​(Node value)` | The node to use as the "disclosure" triangle, or toggle, used for expanding and collapsing items.
    `ReadOnlyObjectProperty<TreeItem<T>>` | `treeItemProperty()` | Each TreeCell represents at most a single `TreeItem`, which is represented by this property.
    `ReadOnlyObjectProperty<TreeView<T>>` | `treeViewProperty()` | A TreeCell is explicitly linked to a single `TreeView` instance, which is represented by this property.
    `void` | `updateTreeItem​(TreeItem<T> treeItem)` | Updates the TreeItem associated with this TreeCell.
    `void` | `updateTreeView​(TreeView<T> tree)` | Updates the TreeView associated with this TreeCell.

    - ### Methods declared in class javafx.scene.control.IndexedCell

      `getIndex, indexProperty, updateIndex`

    - ### Methods declared in class javafx.scene.control.Cell

      `cancelEdit, commitEdit, editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem, startEdit, updateItem, updateSelected`

    - ### Methods declared in class javafx.scene.control.Labeled

      `alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, underlineProperty, wrapTextProperty`

    - ### Methods declared in class javafx.scene.control.Control

      `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getTooltip, isResizable, setContextMenu, setTooltip, skinProperty, tooltipProperty`

    - ### Methods declared in class javafx.scene.layout.Region

      `backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty`

    - ### Methods declared in class javafx.scene.Parent

      `getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds`

    - ### Methods declared in class javafx.scene.Node

      `accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, 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, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, 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, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods declared in interface javafx.scene.control.Skinnable

      `getSkin, setSkin`

    - ### Methods declared in interface javafx.css.Styleable

      `getStyleableNode, getStyleClass`

- - ### Property Detail

    - #### treeItem

          public final ReadOnlyObjectProperty<TreeItem<T>> treeItemProperty

      Each TreeCell represents at most a single `TreeItem`, which is represented by this property.
      See Also:
        `getTreeItem()`

    - #### disclosureNode

          public final ObjectProperty<Node> disclosureNodeProperty

      The disclosure node is commonly seen represented as a triangle that rotates on screen to indicate whether or not the TreeItem that it is placed beside is expanded or collapsed.
      See Also:
        `getDisclosureNode()`, `setDisclosureNode(Node)`

    - #### treeView

          public final ReadOnlyObjectProperty<TreeView<T>> treeViewProperty

      A TreeCell is explicitly linked to a single `TreeView` instance, which is represented by this property.
      See Also:
        `getTreeView()`

  - ### Constructor Detail

    - #### TreeCell

          public TreeCell()

      Creates a default TreeCell instance.

  - ### Method Detail

    - #### getTreeItem

          public final TreeItem<T> getTreeItem()

      Returns the TreeItem currently set in this TreeCell.
      Returns:
        the TreeItem currently set in this TreeCell

    - #### treeItemProperty

          public final ReadOnlyObjectProperty<TreeItem<T>> treeItemProperty()

      Each TreeCell represents at most a single `TreeItem`, which is represented by this property.
      See Also:
        `getTreeItem()`

    - #### setDisclosureNode

          public final void setDisclosureNode​(Node value)

      The node to use as the "disclosure" triangle, or toggle, used for expanding and collapsing items. This is only used in the case of an item in the tree which contains child items. If not specified, the TreeCell's Skin implementation is responsible for providing a default disclosure node.
      Parameters:
        `value` - the disclosure node

    - #### getDisclosureNode

          public final Node getDisclosureNode()

      Returns the current disclosure node set in this TreeCell.
      Returns:
        the current disclosure node set in this TreeCell

    - #### disclosureNodeProperty

          public final ObjectProperty<Node> disclosureNodeProperty()

      The disclosure node is commonly seen represented as a triangle that rotates on screen to indicate whether or not the TreeItem that it is placed beside is expanded or collapsed.
      See Also:
        `getDisclosureNode()`, `setDisclosureNode(Node)`

    - #### getTreeView

          public final TreeView<T> getTreeView()

      Returns the TreeView associated with this TreeCell.
      Returns:
        the TreeView associated with this TreeCell

    - #### treeViewProperty

          public final ReadOnlyObjectProperty<TreeView<T>> treeViewProperty()

      A TreeCell is explicitly linked to a single `TreeView` instance, which is represented by this property.
      See Also:
        `getTreeView()`

    - #### updateTreeView

          public final void updateTreeView​(TreeView<T> tree)

      Updates the TreeView associated with this TreeCell.
      Parameters:
        `tree` - The new TreeView that should be associated with this TreeCell. Note: This function is intended to be used by experts, primarily by those implementing new Skins. It is not common for developers or designers to access this function directly.

    - #### updateTreeItem

          public final void updateTreeItem​(TreeItem<T> treeItem)

      Updates the TreeItem associated with this TreeCell.
      Parameters:
        `treeItem` - The new TreeItem that should be associated with this TreeCell. Note: This function is intended to be used by experts, primarily by those implementing new Skins. It is not common for developers or designers to access this function directly.