Class FileTreeView

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.TreeView<File>
com.imyeyu.fx.ui.components.XTreeView<File>
com.imyeyu.fx.ui.components.FileTreeView
All Implemented Interfaces:
TimiFXUI.Colorful, javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable

public class FileTreeView extends XTreeView<File> implements TimiFXUI.Colorful
文件目录树组件
Since:
2022-05-26 14:32
Author:
夜雨
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    final class 
    文件节点

    Nested classes/interfaces inherited from class javafx.scene.control.TreeView

    javafx.scene.control.TreeView.EditEvent<T>
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.binding.BooleanBinding
    获取正在查找节点监听,此时属于被动展开,用于阻止主动展开的加载节点
    javafx.beans.property.BooleanProperty
    获取显示隐藏文件监听

    Properties inherited from class javafx.scene.control.TreeView

    cellFactory, editable, editingItem, expandedItemCount, fixedCellSize, focusModel, onEditCancel, onEditCommit, onEditStart, onScrollTo, root, selectionModel, showRoot

    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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final javafx.beans.binding.BooleanBinding
    正在查找节点监听
    protected final List<com.imyeyu.java.bean.CallbackArgReturn<File,Boolean>>
    过滤列表,返回 true 时创建该节点
    protected final javafx.collections.ObservableList<File>
    选择队列,左进左出,右边为深度路径,不为空时表正在查找节点
    protected final javafx.beans.property.BooleanProperty
    显示隐藏文件监听

    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
    void
    addItemFilter(com.imyeyu.java.bean.CallbackArgReturn<File,Boolean> itemFilter)
    添加构建节点过滤器,返回 false 时不创建该节点
    void
    destroy(List<javafx.scene.control.TreeItem<File>> files)
    销毁文件
    javafx.beans.binding.BooleanBinding
    获取正在查找节点监听,此时属于被动展开,用于阻止主动展开的加载节点
    boolean
    当前是否显示隐藏文件
    void
    mkdir(javafx.scene.control.TreeItem<File> base)
    创建文件夹
    void
    刷新子节点
    void
    refreshItem(javafx.scene.control.TreeItem<File> treeItem)
    刷新子节点
    void
    removeItemFilter(com.imyeyu.java.bean.CallbackArgReturn<File,Boolean> itemFilter)
    移除构建节点过滤器
    void
    rename(javafx.scene.control.TreeItem<File> file)
    重命名
    void
    选择目标文件
    void
    选择目标路径
    void
    setShowHide(boolean showHide)
    设置是否显示隐藏文件
    javafx.beans.property.BooleanProperty
    获取显示隐藏文件监听

    Methods inherited from class XTreeView

    getRoots, setRoots

    Methods inherited from class javafx.scene.control.TreeView

    cellFactoryProperty, createDefaultSkin, edit, editableProperty, editAnyEvent, editCancelEvent, editCommitEvent, editingItemProperty, editStartEvent, expandedItemCountProperty, fixedCellSizeProperty, focusModelProperty, getCellFactory, getClassCssMetaData, getControlCssMetaData, getEditingItem, getExpandedItemCount, getFixedCellSize, getFocusModel, getNodeLevel, getOnEditCancel, getOnEditCommit, getOnEditStart, getOnScrollTo, getRoot, getRow, getSelectionModel, getTreeItem, getTreeItemLevel, isEditable, isShowRoot, layoutChildren, onEditCancelProperty, onEditCommitProperty, onEditStartProperty, onScrollToProperty, queryAccessibleAttribute, refresh, rootProperty, scrollTo, selectionModelProperty, setCellFactory, setEditable, setFixedCellSize, setFocusModel, setOnEditCancel, setOnEditCommit, setOnEditStart, setOnScrollTo, setRoot, setSelectionModel, setShowRoot, showRootProperty

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, 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, 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 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, requestFocusTraversal, 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 Object

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

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

    • showHide

      public javafx.beans.property.BooleanProperty showHideProperty
      获取显示隐藏文件监听
      See Also:
    • findingItem

      public javafx.beans.binding.BooleanBinding findingItemProperty
      获取正在查找节点监听,此时属于被动展开,用于阻止主动展开的加载节点
      See Also:
  • Field Details

    • findingItem

      protected final javafx.beans.binding.BooleanBinding findingItem
      正在查找节点监听
    • showHide

      protected final javafx.beans.property.BooleanProperty showHide
      显示隐藏文件监听
    • selectDeque

      protected final javafx.collections.ObservableList<File> selectDeque
      选择队列,左进左出,右边为深度路径,不为空时表正在查找节点
    • itemFilters

      protected final List<com.imyeyu.java.bean.CallbackArgReturn<File,Boolean>> itemFilters
      过滤列表,返回 true 时创建该节点
  • Constructor Details

    • FileTreeView

      public FileTreeView()
      默认构造器
  • Method Details

    • mkdir

      public void mkdir(javafx.scene.control.TreeItem<File> base)
      创建文件夹
      Parameters:
      base - 基于文件夹
    • rename

      public void rename(javafx.scene.control.TreeItem<File> file)
      重命名
      Parameters:
      file - 文件或文件夹
    • destroy

      public void destroy(List<javafx.scene.control.TreeItem<File>> files)
      销毁文件
      Parameters:
      files - 文件节点列表
    • refreshItem

      public void refreshItem(javafx.scene.control.TreeItem<File> treeItem)
      刷新子节点
      Parameters:
      treeItem - 父级节点
    • refreshItem

      public void refreshItem(FileTreeView.FileItem fileItem)
      刷新子节点
      Parameters:
      fileItem - 父级节点
    • selectItem

      public void selectItem(String path)
      选择目标路径
      Parameters:
      path - 路径
    • selectItem

      public void selectItem(File file)
      选择目标文件
      Parameters:
      file - 目标文件
    • addItemFilter

      public void addItemFilter(com.imyeyu.java.bean.CallbackArgReturn<File,Boolean> itemFilter)
      添加构建节点过滤器,返回 false 时不创建该节点
      Parameters:
      itemFilter - 节点过滤器
    • removeItemFilter

      public void removeItemFilter(com.imyeyu.java.bean.CallbackArgReturn<File,Boolean> itemFilter)
      移除构建节点过滤器
      Parameters:
      itemFilter - 节点过滤器
    • setShowHide

      public void setShowHide(boolean showHide)
      设置是否显示隐藏文件
      Parameters:
      showHide - true 为显示隐藏文件
    • isShowHide

      public boolean isShowHide()
      当前是否显示隐藏文件
      Returns:
      true 为显示隐藏文件
    • showHideProperty

      public javafx.beans.property.BooleanProperty showHideProperty()
      获取显示隐藏文件监听
      Returns:
      显示隐藏文件监听
    • findingItemProperty

      public javafx.beans.binding.BooleanBinding findingItemProperty()
      获取正在查找节点监听,此时属于被动展开,用于阻止主动展开的加载节点
      Returns:
      正在查找节点监听