Class TreeNodeView<T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
com.dlsc.gemsfx.treeview.TreeNodeView<T>
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable

public class TreeNodeView<T> extends javafx.scene.control.Control
A visual control for displaying trees.

Built on the TreeNode class, this control visualizes hierarchical structures, allowing nodes to have children.

Customizable in layout, alignment, and style, it's ideal for representing data like file systems or organizational charts.

  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,TreeNodeCell<T>>>
     
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.ObjectProperty<javafx.geometry.HPos>
    Alignment on the same level; When the layout direction is ltr or rtl, this attribute indicates the alignment of nodes at the same level;
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.ObjectProperty<TreeNodeView.LayoutDirection>
     
    javafx.beans.property.ObjectProperty<TreeNodeView.LayoutType>
     
    javafx.beans.property.ObjectProperty<LinkStrategy<T>>
     
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    javafx.beans.property.ObjectProperty<TreeNode<T>>
     
    javafx.beans.property.ObjectProperty<javafx.geometry.VPos>
    Alignment on the same level; When the layout direction is btt or ttb, this attribute indicates the alignment of nodes at the same level;
    javafx.beans.property.DoubleProperty
     

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

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

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, 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
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
    static enum 
     
  • Field Summary

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,TreeNodeCell<T>>>
     
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.ObjectProperty<javafx.geometry.HPos>
    Alignment on the same level; When the layout direction is ltr or rtl, this attribute indicates the alignment of nodes at the same level;
    protected javafx.scene.control.Skin<?>
     
    final javafx.util.Callback<T,TreeNodeCell<T>>
    Gets the value of the property cellFactory.
    double
    Gets the value of the property cellHeight.
    double
    Gets the value of the property cellWidth.
    static List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>>
     
    javafx.geometry.HPos
    Gets the value of the property columnAlignment.
    protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>>
     
    double
    Gets the value of the property hgap.
    Gets the value of the property layoutDirection.
    Gets the value of the property layoutType.
    Gets the value of the property linkStrategy.
    double
    Gets the value of the property nodeLineGap.
    javafx.scene.Node
    Gets the value of the property placeholder.
    Gets the value of the property root.
    javafx.geometry.VPos
    Gets the value of the property rowAlignment.
     
    double
    Gets the value of the property vgap.
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.ObjectProperty<TreeNodeView.LayoutDirection>
     
    javafx.beans.property.ObjectProperty<TreeNodeView.LayoutType>
     
    javafx.beans.property.ObjectProperty<LinkStrategy<T>>
     
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    void
     
    javafx.beans.property.ObjectProperty<TreeNode<T>>
     
    javafx.beans.property.ObjectProperty<javafx.geometry.VPos>
    Alignment on the same level; When the layout direction is btt or ttb, this attribute indicates the alignment of nodes at the same level;
    final void
    setCellFactory(javafx.util.Callback<T,TreeNodeCell<T>> value)
    Sets the value of the property cellFactory.
    void
    setCellHeight(double cellHeight)
    Sets the value of the property cellHeight.
    void
    setCellWidth(double cellWidth)
    Sets the value of the property cellWidth.
    void
    setColumnAlignment(javafx.geometry.HPos columnAlignment)
    Sets the value of the property columnAlignment.
    void
    setHgap(double hgap)
    Sets the value of the property hgap.
    void
    Sets the value of the property layoutDirection.
    void
    Sets the value of the property layoutType.
    void
    Sets the value of the property linkStrategy.
    void
    setNodeLineGap(double nodeLineGap)
    Sets the value of the property nodeLineGap.
    void
    setPlaceholder(javafx.scene.Node placeholder)
    Sets the value of the property placeholder.
    void
    Sets the value of the property root.
    void
    setRowAlignment(javafx.geometry.VPos rowAlignment)
    Sets the value of the property rowAlignment.
    void
    setVgap(double vgap)
    Sets the value of the property vgap.
    javafx.beans.property.DoubleProperty
     

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, 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 inherited from class javafx.scene.Parent

    getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from 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, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, 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, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, 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, 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, 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 inherited from class java.lang.Object

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

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

  • Constructor Details

    • TreeNodeView

      public TreeNodeView()
    • TreeNodeView

      public TreeNodeView(TreeNode<T> root)
  • Method Details

    • createDefaultSkin

      protected javafx.scene.control.Skin<?> createDefaultSkin()
      Overrides:
      createDefaultSkin in class javafx.scene.control.Control
    • getUserAgentStylesheet

      public String getUserAgentStylesheet()
      Overrides:
      getUserAgentStylesheet in class javafx.scene.layout.Region
    • setCellFactory

      public final void setCellFactory(javafx.util.Callback<T,TreeNodeCell<T>> value)
      Sets the value of the property cellFactory.
      Property description:
    • getCellFactory

      public final javafx.util.Callback<T,TreeNodeCell<T>> getCellFactory()
      Gets the value of the property cellFactory.
      Property description:
    • cellFactoryProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,TreeNodeCell<T>>> cellFactoryProperty()
      See Also:
    • getRoot

      public TreeNode<T> getRoot()
      Gets the value of the property root.
      Property description:
    • rootProperty

      public javafx.beans.property.ObjectProperty<TreeNode<T>> rootProperty()
      See Also:
    • setRoot

      public void setRoot(TreeNode<T> root)
      Sets the value of the property root.
      Property description:
    • getRowAlignment

      public javafx.geometry.VPos getRowAlignment()
      Gets the value of the property rowAlignment.
      Property description:
      Alignment on the same level; When the layout direction is btt or ttb, this attribute indicates the alignment of nodes at the same level;
    • rowAlignmentProperty

      public javafx.beans.property.ObjectProperty<javafx.geometry.VPos> rowAlignmentProperty()
      Alignment on the same level; When the layout direction is btt or ttb, this attribute indicates the alignment of nodes at the same level;
      See Also:
    • setRowAlignment

      public void setRowAlignment(javafx.geometry.VPos rowAlignment)
      Sets the value of the property rowAlignment.
      Property description:
      Alignment on the same level; When the layout direction is btt or ttb, this attribute indicates the alignment of nodes at the same level;
    • getColumnAlignment

      public javafx.geometry.HPos getColumnAlignment()
      Gets the value of the property columnAlignment.
      Property description:
      Alignment on the same level; When the layout direction is ltr or rtl, this attribute indicates the alignment of nodes at the same level;
    • columnAlignmentProperty

      public javafx.beans.property.ObjectProperty<javafx.geometry.HPos> columnAlignmentProperty()
      Alignment on the same level; When the layout direction is ltr or rtl, this attribute indicates the alignment of nodes at the same level;
      See Also:
    • setColumnAlignment

      public void setColumnAlignment(javafx.geometry.HPos columnAlignment)
      Sets the value of the property columnAlignment.
      Property description:
      Alignment on the same level; When the layout direction is ltr or rtl, this attribute indicates the alignment of nodes at the same level;
    • getCellWidth

      public double getCellWidth()
      Gets the value of the property cellWidth.
      Property description:
    • cellWidthProperty

      public javafx.beans.property.DoubleProperty cellWidthProperty()
      See Also:
    • setCellWidth

      public void setCellWidth(double cellWidth)
      Sets the value of the property cellWidth.
      Property description:
    • getCellHeight

      public double getCellHeight()
      Gets the value of the property cellHeight.
      Property description:
    • cellHeightProperty

      public javafx.beans.property.DoubleProperty cellHeightProperty()
      See Also:
    • setCellHeight

      public void setCellHeight(double cellHeight)
      Sets the value of the property cellHeight.
      Property description:
    • getHgap

      public double getHgap()
      Gets the value of the property hgap.
      Property description:
    • hgapProperty

      public javafx.beans.property.DoubleProperty hgapProperty()
      See Also:
    • setHgap

      public void setHgap(double hgap)
      Sets the value of the property hgap.
      Property description:
    • getVgap

      public double getVgap()
      Gets the value of the property vgap.
      Property description:
    • vgapProperty

      public javafx.beans.property.DoubleProperty vgapProperty()
      See Also:
    • setVgap

      public void setVgap(double vgap)
      Sets the value of the property vgap.
      Property description:
    • getNodeLineGap

      public double getNodeLineGap()
      Gets the value of the property nodeLineGap.
      Property description:
    • nodeLineGapProperty

      public javafx.beans.property.DoubleProperty nodeLineGapProperty()
      See Also:
    • setNodeLineGap

      public void setNodeLineGap(double nodeLineGap)
      Sets the value of the property nodeLineGap.
      Property description:
    • getPlaceholder

      public javafx.scene.Node getPlaceholder()
      Gets the value of the property placeholder.
      Property description:
    • placeholderProperty

      public javafx.beans.property.ObjectProperty<javafx.scene.Node> placeholderProperty()
      See Also:
    • setPlaceholder

      public void setPlaceholder(javafx.scene.Node placeholder)
      Sets the value of the property placeholder.
      Property description:
    • getLinkStrategy

      public LinkStrategy<T> getLinkStrategy()
      Gets the value of the property linkStrategy.
      Property description:
    • linkStrategyProperty

      public javafx.beans.property.ObjectProperty<LinkStrategy<T>> linkStrategyProperty()
      See Also:
    • setLinkStrategy

      public void setLinkStrategy(LinkStrategy<T> linkStrategy)
      Sets the value of the property linkStrategy.
      Property description:
    • getLayoutType

      public TreeNodeView.LayoutType getLayoutType()
      Gets the value of the property layoutType.
      Property description:
    • layoutTypeProperty

      public javafx.beans.property.ObjectProperty<TreeNodeView.LayoutType> layoutTypeProperty()
      See Also:
    • setLayoutType

      public void setLayoutType(TreeNodeView.LayoutType layoutType)
      Sets the value of the property layoutType.
      Property description:
    • getLayoutDirection

      public TreeNodeView.LayoutDirection getLayoutDirection()
      Gets the value of the property layoutDirection.
      Property description:
    • layoutDirectionProperty

      public javafx.beans.property.ObjectProperty<TreeNodeView.LayoutDirection> layoutDirectionProperty()
      See Also:
    • setLayoutDirection

      public void setLayoutDirection(TreeNodeView.LayoutDirection layoutDirection)
      Sets the value of the property layoutDirection.
      Property description:
    • refresh

      public void refresh()
    • getControlCssMetaData

      protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class javafx.scene.control.Control
    • getClassCssMetaData

      public static List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>> getClassCssMetaData()