模块  java.desktop
软件包  javax.swing

Class JTree

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessibleScrollable

    @JavaBean(defaultProperty="UI",
              description="A component that displays a set of hierarchical data as an outline.")
    public class JTree
    extends JComponent
    implements Scrollable, Accessible
    一个控件,将一组分层数据显示为轮廓。 您可以在How to Use Trees (Java教程中的一节)中找到面向任务的文档和使用树的示例。

    树中的特定节点可以由TreePath (封装节点及其所有祖先的对象)或其显示行来标识,其中显示区域中的每一行显示一个节点。 展开的节点是非叶节点(由TreeModel.isLeaf(node)标识,返回false),在展开其所有祖先时将显示其子节点。 折叠节点是隐藏它们的节点。 隐藏节点是折叠祖先下的节点。 所有可查看节点父节点都已展开,但可能显示也可能不显示。 显示的节点都是可见的,并且在显示区域中可以看到。

    以下JTree方法使用“可见”表示“显示”:
    • isRootVisible()
    • setRootVisible()
    • scrollPathToVisible()
    • scrollRowToVisible()
    • getVisibleRowCount()
    • setVisibleRowCount()
    下一组JTree方法使用“可见”表示“可查看”(在扩展的父级下):
    • isVisible()
    • makeVisible()
    如果您有兴趣知道选择更改何时实现TreeSelectionListener接口并使用方法addTreeSelectionListener添加实例。 选择更改时将调用valueChanged ,即如果用户在同一节点上单击两次valueChanged将仅调用一次。

    如果您有兴趣检测双击事件或用户单击某个节点,无论是否选中该节点,我们建议您执行以下操作:

      final JTree tree = ...;
    
     MouseListener ml = new MouseAdapter() {
         public void mousePressed(MouseEvent e) {
             int selRow = tree.getRowForLocation(e.getX(), e.getY());
             TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
             if(selRow != -1) {
                 if(e.getClickCount() == 1) {
                     mySingleClick(selRow, selPath);
                 }
                 else if(e.getClickCount() == 2) {
                     myDoubleClick(selRow, selPath);
                 }
             }
         }
     };
     tree.addMouseListener(ml); 
    注意:此示例同时获取路径和行,但您只需获取您感兴趣的那个。

    要使用JTree显示复合节点(例如,包含图形图标和文本的节点), 使用子类TreeCellRenderer并使用setCellRenderer(javax.swing.tree.TreeCellRenderer)告知树使用它。 要编辑此类节点, 使用子类TreeCellEditor并使用setCellEditor(javax.swing.tree.TreeCellEditor)

    与所有JComponent类一样,您可以使用InputMapActionMapAction对象与KeyStroke关联,并在指定条件下执行操作。

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.2
    另请参见:
    Serialized Form
    • 字段详细信息

      • treeModel

        protected transient TreeModel treeModel
        定义此对象显示的树的模型。
      • selectionModel

        protected transient TreeSelectionModel selectionModel
        为此树中的所选节点集建模。
      • rootVisible

        protected boolean rootVisible
        如果显示根节点,则为true;如果其子节点是最高可见节点,则为false。
      • cellRenderer

        protected transient TreeCellRenderer cellRenderer
        用于绘制节点的单元格。 如果是null ,则UI使用默认值cellRenderer
      • rowHeight

        protected int rowHeight
        每个显示行使用的高度。 如果<= 0,则渲染器确定每行的高度。
      • showsRootHandles

        protected boolean showsRootHandles
        如果句柄显示在树的最顶层,则为True。

        句柄是一个小图标,显示在节点附近,允许用户单击一次以展开或折叠节点。 公共接口显示可以展开的节点的加号(+)和可折叠的节点的减号( - )。 始终显示最顶层以下节点的句柄。

        如果rootVisible设置指定要显示根节点,那么这是最顶层的唯一节点。 如果未显示根节点,则其所有子节点都位于树的最顶层。 始终显示除最顶层以外的节点的句柄。

        如果根节点不可见,则将此值设为true通常是一件好事。 否则,树看起来与列表完全相同,并且用户可能不知道“列表条目”实际上是树节点。

        另请参见:
        rootVisible
      • selectionRedirector

        protected transient JTree.TreeSelectionRedirector selectionRedirector
        创建一个新事件并将其从 selectionListeners传递 selectionListeners
      • cellEditor

        protected transient TreeCellEditor cellEditor
        编辑参赛作品。 默认值为null (树不可编辑)。
      • editable

        protected boolean editable
        树是否可编辑? 默认值为false。
      • largeModel

        protected boolean largeModel
        这棵树是大型模型吗? 这是代码优化设置。 当所有节点的单元高度相同时,可以使用大型模型。 然后,UI将缓存非常少的信息,而是不断地向模型发送消息。 如果没有大型模型,UI会缓存大部分信息,从而减少对模型的方法调用。

        该值仅是对UI的建议。 并非所有UI都会利用它。 默认值为false。

      • visibleRowCount

        protected int visibleRowCount
        一次可见的行数。 该值用于Scrollable接口。 它确定显示区域的首选大小。
      • invokesStopCellEditing

        protected boolean invokesStopCellEditing
        如果为真,则当通过选择改变来停止编辑时,调用树改变中的数据或其他装置stopCellEditing ,并且保存改变。 如果为false,则调用cancelCellEditing ,并放弃更改。 默认值为false。
      • scrollsOnExpand

        protected boolean scrollsOnExpand
        如果为true,则展开节点时,会滚动许多后代以使其可见。
      • toggleClickCount

        protected int toggleClickCount
        展开节点之前的鼠标单击次数。
      • treeModelListener

        protected transient TreeModelListener treeModelListener
        更新 expandedState
      • CELL_RENDERER_PROPERTY

        public static final String CELL_RENDERER_PROPERTY
        绑定属性名称为 cellRenderer
        另请参见:
        常数字段值
      • TREE_MODEL_PROPERTY

        public static final String TREE_MODEL_PROPERTY
        绑定属性名称为 treeModel
        另请参见:
        常数字段值
      • ROOT_VISIBLE_PROPERTY

        public static final String ROOT_VISIBLE_PROPERTY
        绑定属性名称为 rootVisible
        另请参见:
        常数字段值
      • SHOWS_ROOT_HANDLES_PROPERTY

        public static final String SHOWS_ROOT_HANDLES_PROPERTY
        绑定属性名称为 showsRootHandles
        另请参见:
        常数字段值
      • ROW_HEIGHT_PROPERTY

        public static final String ROW_HEIGHT_PROPERTY
        绑定属性名称为 rowHeight
        另请参见:
        常数字段值
      • CELL_EDITOR_PROPERTY

        public static final String CELL_EDITOR_PROPERTY
        绑定属性名称为 cellEditor
        另请参见:
        常数字段值
      • EDITABLE_PROPERTY

        public static final String EDITABLE_PROPERTY
        绑定属性名称为 editable
        另请参见:
        常数字段值
      • LARGE_MODEL_PROPERTY

        public static final String LARGE_MODEL_PROPERTY
        绑定属性名称为 largeModel
        另请参见:
        常数字段值
      • SELECTION_MODEL_PROPERTY

        public static final String SELECTION_MODEL_PROPERTY
        selectionModel的绑定属性名称。
        另请参见:
        常数字段值
      • VISIBLE_ROW_COUNT_PROPERTY

        public static final String VISIBLE_ROW_COUNT_PROPERTY
        绑定属性名称为 visibleRowCount
        另请参见:
        常数字段值
      • INVOKES_STOP_CELL_EDITING_PROPERTY

        public static final String INVOKES_STOP_CELL_EDITING_PROPERTY
        绑定属性名称为 messagesStopCellEditing
        另请参见:
        常数字段值
      • SCROLLS_ON_EXPAND_PROPERTY

        public static final String SCROLLS_ON_EXPAND_PROPERTY
        绑定属性名称为 scrollsOnExpand
        另请参见:
        常数字段值
      • TOGGLE_CLICK_COUNT_PROPERTY

        public static final String TOGGLE_CLICK_COUNT_PROPERTY
        绑定属性名称为 toggleClickCount
        另请参见:
        常数字段值
      • LEAD_SELECTION_PATH_PROPERTY

        public static final String LEAD_SELECTION_PATH_PROPERTY
        绑定属性名称为 leadSelectionPath
        从以下版本开始:
        1.3
        另请参见:
        常数字段值
      • ANCHOR_SELECTION_PATH_PROPERTY

        public static final String ANCHOR_SELECTION_PATH_PROPERTY
        锚选择路径的绑定属性名称。
        从以下版本开始:
        1.3
        另请参见:
        常数字段值
      • EXPANDS_SELECTED_PATHS_PROPERTY

        public static final String EXPANDS_SELECTED_PATHS_PROPERTY
        绑定属性名称,用于展开选定路径属性
        从以下版本开始:
        1.3
        另请参见:
        常数字段值
    • 构造方法详细信息

      • JTree

        public JTree()
        返回带有示例模型的JTree 树使用的默认模型将叶节点定义为没有子节点的任何节点。
        另请参见:
        DefaultTreeModel.asksAllowsChildren
      • JTree

        public JTree​(Object[] value)
        返回JTree ,指定数组的每个元素都作为未显示的新根节点的子节点。 默认情况下,树将叶节点定义为没有子节点的任何节点。
        参数
        value - 数组 Object s
        另请参见:
        DefaultTreeModel.asksAllowsChildren
      • JTree

        public JTree​(Vector<?> value)
        返回JTree ,其中指定的Vector每个元素都是未显示的新根节点的子节点。 默认情况下,树将叶节点定义为没有子节点的任何节点。
        参数
        value - a Vector
        另请参见:
        DefaultTreeModel.asksAllowsChildren
      • JTree

        public JTree​(Hashtable<?,​?> value)
        返回从JTree创建的Hashtable ,它不显示为root。 HashTable中的每个值 - 一半的键/值对成为新根节点的子节点。 默认情况下,树将叶节点定义为没有子节点的任何节点。
        参数
        value - a Hashtable
        另请参见:
        DefaultTreeModel.asksAllowsChildren
      • JTree

        public JTree​(TreeNode root)
        返回JTree ,其指定的TreeNode为根,显示根节点。 默认情况下,树将叶节点定义为没有子节点的任何节点。
        参数
        root - 一个 TreeNode对象
        另请参见:
        DefaultTreeModel.asksAllowsChildren
      • JTree

        public JTree​(TreeNode root,
                     boolean asksAllowsChildren)
        返回 JTree ,其中指定的 TreeNode为根,它显示根节点,并以指定的方式决定节点是否为叶节点。
        参数
        root - 一个 TreeNode对象
        asksAllowsChildren - 如果为false,则任何没有子节点的节点都是叶节点; 如果为true,则只有不允许子节点的节点才是叶节点
        另请参见:
        DefaultTreeModel.asksAllowsChildren
      • JTree

        @ConstructorProperties("model")
        public JTree​(TreeModel newModel)
        返回显示根节点的 JTree实例 - 使用指定的数据模型创建树。
        参数
        newModel - 用作数据模型的 TreeModel
    • 方法详细信息

      • getDefaultTreeModel

        protected static TreeModel getDefaultTreeModel()
        创建并返回样本TreeModel 主要用于beanbuilders以显示有趣的东西。
        结果
        默认值 TreeModel
      • createTreeModel

        protected static TreeModel createTreeModel​(Object value)
        返回包装指定对象的TreeModel 如果对象是:
        • 数组Object s,
        • a Hashtable ,或
        • a Vector
        然后创建一个新的根节点,每个传入的对象都是子节点。 否则,将创建值为"root"的新根。
        参数
        value - 用作 Object的基础的 TreeModel
        结果
        包装指定对象的 TreeModel
      • getUI

        public TreeUI getUI()
        返回呈现此组件的L&F对象。
        重写:
        getUI在类 JComponent
        结果
        呈现此组件的 TreeUI对象
      • updateUI

        public void updateUI()
        来自UIManager的L&F已更改的通知。 使用UIManager的最新版本替换当前UI对象。
        重写:
        updateUI在类 JComponent
        另请参见:
        JComponent.updateUI()
      • getCellRenderer

        public TreeCellRenderer getCellRenderer()
        返回呈现每个单元格的当前 TreeCellRenderer
        结果
        渲染每个单元格的 TreeCellRenderer
      • setCellRenderer

        @BeanProperty(description="The TreeCellRenderer that will be used to draw each cell.")
        public void setCellRenderer​(TreeCellRenderer x)
        设置将用于绘制每个单元格的TreeCellRenderer

        这是一个绑定属性。

        参数
        x - 用于渲染每个单元格的 TreeCellRenderer
      • setEditable

        @BeanProperty(description="Whether the tree is editable.")
        public void setEditable​(boolean flag)
        确定树是否可编辑。 如果新设置与现有设置不同,则触发属性更改事件。

        这是一个绑定属性。

        参数
        flag - 布尔值,如果树可编辑,则为true
      • isEditable

        public boolean isEditable()
        如果树是可编辑的,则返回true。
        结果
        如果树是可编辑的,则为true
      • setCellEditor

        @BeanProperty(description="The cell editor. A null value implies the tree cannot be edited.")
        public void setCellEditor​(TreeCellEditor cellEditor)
        设置单元格编辑器。 null表示无法编辑树。 如果这表示cellEditor中的cellEditorpropertyChange在所有侦听器上调用propertyChange方法。

        这是一个绑定属性。

        参数
        cellEditor - 使用 TreeCellEditor
      • getCellEditor

        public TreeCellEditor getCellEditor()
        返回用于编辑树中条目的编辑器。
        结果
        TreeCellEditor正在使用,如果树无法编辑, null
      • getModel

        public TreeModel getModel()
        返回提供数据的 TreeModel
        结果
        提供数据的 TreeModel
      • setModel

        @BeanProperty(description="The TreeModel that will provide the data.")
        public void setModel​(TreeModel newModel)
        设置将提供数据的TreeModel

        这是一个绑定属性。

        参数
        newModel - 即提供数据的 TreeModel
      • isRootVisible

        public boolean isRootVisible()
        如果显示树的根节点,则返回true。
        结果
        如果显示树的根节点,则为true
        另请参见:
        rootVisible
      • setRootVisible

        @BeanProperty(description="Whether or not the root node from the TreeModel is visible.")
        public void setRootVisible​(boolean rootVisible)
        确定TreeModel中的TreeModel是否可见。

        这是一个绑定属性。

        参数
        rootVisible - 如果要显示树的根节点, rootVisible true
        另请参见:
        rootVisible
      • setShowsRootHandles

        @BeanProperty(description="Whether the node handles are to be displayed.")
        public void setShowsRootHandles​(boolean newValue)
        设置showsRootHandles属性的值,该属性指定是否应显示节点句柄。 此属性的默认值取决于用于创建JTree的构造JTree 一些外观可能不支持手柄; 他们会忽略这个属性。

        这是一个绑定属性。

        参数
        newValue - true如果应显示根句柄; 否则, false
        另请参见:
        showsRootHandlesgetShowsRootHandles()
      • getShowsRootHandles

        public boolean getShowsRootHandles()
        返回 showsRootHandles属性的值。
        结果
        showsRootHandles属性的值
        另请参见:
        showsRootHandles
      • setRowHeight

        @BeanProperty(description="The height of each cell.")
        public void setRowHeight​(int rowHeight)
        设置每个单元格的高度(以像素为单位)。 如果指定的值小于或等于零,则会为每行的高度查询当前单元格渲染器。

        这是一个绑定属性。

        参数
        rowHeight - 每个单元格的高度,以像素为单位
      • getRowHeight

        public int getRowHeight()
        返回每行的高度。 如果返回的值小于或等于0,则每行的高度由渲染器确定。
        结果
        每行的高度
      • isFixedRowHeight

        @BeanProperty(bound=false)
        public boolean isFixedRowHeight()
        如果每个显示行的高度是固定大小,则返回true。
        结果
        如果每行的高度是固定大小,则为true
      • setLargeModel

        @BeanProperty(description="Whether the UI should use a large model.")
        public void setLargeModel​(boolean newValue)
        指定UI是否应使用大型模型。 (并非所有UI都会实现此功能。)触发LARGE_MODEL_PROPERTY的属性更改。

        这是一个绑定属性。

        参数
        newValue - 如果向UI建议大型模型, newValue true
        另请参见:
        largeModel
      • isLargeModel

        public boolean isLargeModel()
        如果为大型模型配置树,则返回true。
        结果
        如果建议使用大型模型,则为true
        另请参见:
        largeModel
      • setInvokesStopCellEditing

        @BeanProperty(description="Determines what happens when editing is interrupted, selecting another node in the tree, a change in the tree\'s data, or some other means.")
        public void setInvokesStopCellEditing​(boolean newValue)
        通过选择树中的另一个节点,更改树的数据或通过其他方式确定编辑中断时会发生什么。 将此属性设置为true会导致在编辑中断时自动保存更改。

        触发INVOKES_STOP_CELL_EDITING_PROPERTY的属性更改。

        参数
        newValue - true表示编辑中断时调用stopCellEditing ,并保存数据; false表示调用cancelCellEditing ,并且更改将丢失
      • getInvokesStopCellEditing

        public boolean getInvokesStopCellEditing()
        返回指示编辑中断时会发生什么的指示符。
        结果
        指示编辑中断时会发生什么的指示器
        另请参见:
        setInvokesStopCellEditing(boolean)
      • setScrollsOnExpand

        @BeanProperty(description="Indicates if a node descendant should be scrolled when expanded.")
        public void setScrollsOnExpand​(boolean newValue)
        设置scrollsOnExpand属性,该属性确定树是否可以滚动以显示以前隐藏的子项。 如果此属性为true (默认值),则当节点展开树时,可以使用滚动使节点的后代的最大可能数量可见。 在某些外观和感觉中,树木在展开时可能不需要滚动; 那些外观和感觉将忽略这个属性。

        这是一个绑定属性。

        参数
        newValue - false禁用滚动扩展; true启用它
        另请参见:
        getScrollsOnExpand()
      • getScrollsOnExpand

        public boolean getScrollsOnExpand()
        返回 scrollsOnExpand属性的值。
        结果
        scrollsOnExpand属性的值
      • setToggleClickCount

        @BeanProperty(description="Number of clicks before a node will expand/collapse.")
        public void setToggleClickCount​(int clickCount)
        设置节点展开或关闭之前的鼠标单击次数。 默认值为2。

        这是一个绑定属性。

        参数
        clickCount - 用于扩展或关闭节点的鼠标单击次数
        从以下版本开始:
        1.3
      • getToggleClickCount

        public int getToggleClickCount()
        返回展开或关闭节点所需的鼠标单击次数。
        结果
        节点展开前的鼠标点击次数
        从以下版本开始:
        1.3
      • setExpandsSelectedPaths

        @BeanProperty(description="Indicates whether changes to the selection should make the parent of the path visible.")
        public void setExpandsSelectedPaths​(boolean newValue)
        配置expandsSelectedPaths属性。 如果为真,任何时候选择改变,无论是通过TreeSelectionModel ,或者所提供的覆盖方法JTree ,该TreePath的父母将扩大使它们可见(可见是指父路径展开,不一定可见矩形JTree )。 如果为false,则当选择更改时,父节点不可见(所有父节点都已展开)。 如果您希望选择模型保持不总是可见的路径(扩展所有父项),这将非常有用。

        这是一个绑定属性。

        参数
        newValue -新价值 expandsSelectedPaths
        从以下版本开始:
        1.3
      • getExpandsSelectedPaths

        public boolean getExpandsSelectedPaths()
        返回 expandsSelectedPaths属性。
        结果
        如果选择更改导致父路径被展开,则返回true
        从以下版本开始:
        1.3
        另请参见:
        setExpandsSelectedPaths(boolean)
      • setDragEnabled

        @BeanProperty(bound=false,
                      description="determines whether automatic drag handling is enabled")
        public void setDragEnabled​(boolean b)
        打开或关闭自动拖动处理。 为了启用自动拖动处理,此属性应设置为true ,树的TransferHandler必须为non-null dragEnabled属性的默认值为false

        尊重此属性以及识别用户拖动手势的工作在于外观和感觉实现,特别是树的TreeUI 启用自动拖动处理后,只要用户在项目上按下鼠标按钮然后将鼠标移动几个像素,大多数外观(包括子类BasicLookAndFeel那些)都会开始拖放操作。 因此,将此属性设置为true可能会对选择的行为产生微妙影响。

        如果使用忽略此属性的外观,您仍然可以通过在树的TransferHandler上调用exportAsDrag来开始拖放操作。

        参数
        b - 是否启用自动拖动处理
        异常
        HeadlessException - 如果 btrueGraphicsEnvironment.isHeadless()返回 true
        从以下版本开始:
        1.4
        另请参见:
        GraphicsEnvironment.isHeadless()getDragEnabled()JComponent.setTransferHandler(javax.swing.TransferHandler)TransferHandler
      • getDragEnabled

        public boolean getDragEnabled()
        返回是否启用自动拖动处理。
        结果
        dragEnabled属性的值
        从以下版本开始:
        1.4
        另请参见:
        setDragEnabled(boolean)
      • setDropMode

        public final void setDropMode​(DropMode dropMode)
        设置此组件的放置模式。 为了向后兼容,此属性的默认值为DropMode.USE_SELECTION 但是,建议使用其他模式之一,以改善用户体验。 例如, DropMode.ON提供了类似于显示所选项目的行为,但这样做不会影响树中的实际选择。

        JTree支持以下丢弃模式:

        • DropMode.USE_SELECTION
        • DropMode.ON
        • DropMode.INSERT
        • DropMode.ON_OR_INSERT

        只有当此组件具有接受drop的TransferHandler ,drop mode才有意义。

        参数
        dropMode - 要使用的放置模式
        异常
        IllegalArgumentException - 如果不支持放置模式或 null
        从以下版本开始:
        1.6
        另请参见:
        getDropMode()getDropLocation()JComponent.setTransferHandler(javax.swing.TransferHandler)TransferHandler
      • getDropLocation

        @BeanProperty(bound=false)
        public final JTree.DropLocation getDropLocation()
        返回此组件在组件上的DnD操作期间应在视觉上指示为放置位置的位置,如果当前未显示任何位置,则返回null

        此方法不适用于从TransferHandler查询放置位置,因为放置位置仅在TransferHandlercanImport返回并允许显示位置后设置。

        当此属性更改时,组件将触发名称为“dropLocation”的属性更改事件。

        结果
        下降的位置
        从以下版本开始:
        1.6
        另请参见:
        setDropMode(javax.swing.DropMode)TransferHandler.canImport(TransferHandler.TransferSupport)
      • isPathEditable

        public boolean isPathEditable​(TreePath path)
        返回isEditable 在编辑开始之前从UI调用此选项以确保可以编辑给定路径。 这是子类加密器的入口点,可以添加过滤的编辑,而无需求助于创建新的编辑器。
        参数
        path - 标识节点的 TreePath
        结果
        如果每个父节点和节点本身都是可编辑的,则为true
        另请参见:
        isEditable()
      • getToolTipText

        public String getToolTipText​(MouseEvent event)
        覆盖JComponentgetToolTipText方法,以便在文本设置时允许使用渲染器的提示。

        注: JTree正确显示其渲染器工具提示, JTree必须是注册的组件ToolTipManager 这可以通过调用ToolTipManager.sharedInstance().registerComponent(tree)来完成。 这不是自动完成的!

        重写:
        getToolTipText在类 JComponent
        参数
        event -该 MouseEvent发起 ToolTip显示器
        结果
        包含工具提示或字符串 null如果 event为空
      • convertValueToText

        public String convertValueToText​(Object value,
                                         boolean selected,
                                         boolean expanded,
                                         boolean leaf,
                                         int row,
                                         boolean hasFocus)
        由渲染器调用以将指定值转换为文本。 此实现返回value.toString ,忽略所有其他参数。 要控制转换,请将此方法子类化并使用您需要的任何参数。
        参数
        value - 转换为文本的 Object
        selected - 如果选择了节点,则为true
        expanded - 如果节点已展开, expanded true
        leaf - 如果节点是叶节点, leaf true
        row - 指定节点显示行的整数,其中0是显示中的第一行
        hasFocus - 如果节点具有焦点, hasFocus true
        结果
        String表示节点的值
      • getRowCount

        @BeanProperty(bound=false)
        public int getRowCount()
        返回可查看节点的数量。 如果节点的所有父节点都已展开,则可以查看该节点。 如果isRootVisible()true则根仅包含在此计数中。 如果尚未设置UI,则返回0
        结果
        可查看节点的数量
      • setSelectionPath

        public void setSelectionPath​(TreePath path)
        选择由指定路径标识的节点。 如果路径的任何组件被隐藏(在折叠节点下),并且getExpandsSelectedPaths为真,则它将被公开(可查看)。
        参数
        path - 指定要选择的节点的 TreePath
      • setSelectionPaths

        public void setSelectionPaths​(TreePath[] paths)
        选择由指定路径数组标识的节点。 如果任何路径中的任何组件被隐藏(在折叠节点下),并且getExpandsSelectedPaths为真,则它将被公开(可查看)。
        参数
        paths - TreePath对象的数组,指定要选择的节点
      • setLeadSelectionPath

        @BeanProperty(description="Lead selection path")
        public void setLeadSelectionPath​(TreePath newPath)
        将路径标识设置为潜在客户。 可能未选择潜在客户。 领先者不是由JTree维护,而是UI将更新它。

        这是一个绑定属性。

        参数
        newPath - 新的主要路径
        从以下版本开始:
        1.3
      • setAnchorSelectionPath

        @BeanProperty(description="Anchor selection path")
        public void setAnchorSelectionPath​(TreePath newPath)
        设置标识为锚点的路径。 锚点不由JTree维护,而是UI将更新它。

        这是一个绑定属性。

        参数
        newPath - 新的锚路径
        从以下版本开始:
        1.3
      • setSelectionRow

        public void setSelectionRow​(int row)
        选择显示中指定行的节点。
        参数
        row - 要选择的行,其中0是显示中的第一行
      • setSelectionRows

        public void setSelectionRows​(int[] rows)
        选择与显示中每个指定行对应的节点。 如果rows的特定元素<0或> = getRowCount ,则将忽略该元素。 如果rows中的所有元素rows是有效行,则将清除选择。 这就好像调用了clearSelection
        参数
        rows - 指定要选择的行的int数组,其中0表示显示中的第一行
      • addSelectionPath

        public void addSelectionPath​(TreePath path)
        将指定的TreePath标识的节点添加到当前选择中。 如果路径的任何组件不可见,并且getExpandsSelectedPaths为真,则使其可见。

        请注意, JTree不允许重复节点作为同一父节点下的子节点存在 - 每个兄弟节点必须是唯一对象。

        参数
        path - 要添加的 TreePath
      • addSelectionPaths

        public void addSelectionPaths​(TreePath[] paths)
        将路径数组中的每个路径添加到当前选择。 如果任何路径的任何组件都不可见且getExpandsSelectedPaths为真,则使其可见。

        请注意, JTree不允许重复节点作为同一父节点下的子节点存在 - 每个兄弟节点必须是唯一对象。

        参数
        paths - 一组 TreePath对象,指定要添加的节点
      • addSelectionRow

        public void addSelectionRow​(int row)
        将指定行的路径添加到当前选择。
        参数
        row - 一个整数,指定要添加的节点的行,其中0是显示中的第一行
      • addSelectionRows

        public void addSelectionRows​(int[] rows)
        将每个指定行的路径添加到当前选择。
        参数
        rows - 指定要添加的行的int数组,其中0表示显示中的第一行
      • getLastSelectedPathComponent

        @BeanProperty(bound=false)
        public Object getLastSelectedPathComponent()
        返回所选路径的最后一个路径组件。 这是getSelectionModel().getSelectionPath().getLastPathComponent()的便捷方法。 这通常仅在选择具有一个路径时有用。
        结果
        所选路径的最后一个路径组件,如果未选择任何内容, null
        另请参见:
        TreePath.getLastPathComponent()
      • getLeadSelectionPath

        public TreePath getLeadSelectionPath()
        返回标识为潜在客户的路径。
        结果
        确定为领导的路径
      • getAnchorSelectionPath

        public TreePath getAnchorSelectionPath()
        返回标识为锚点的路径。
        结果
        路径被识别为锚
        从以下版本开始:
        1.3
      • getSelectionPath

        public TreePath getSelectionPath()
        返回第一个选定节点的路径。
        结果
        TreePath第一个选择的节点,或 null如果当前没有选择任何
      • getSelectionPaths

        public TreePath[] getSelectionPaths()
        返回所有选定值的路径。
        结果
        指示所选节点的 TreePath对象的数组,如果当前未选择任何节点, null
      • getSelectionRows

        public int[] getSelectionRows()
        返回所有当前选定的行。 此方法只是转发到TreeSelectionModel 如果未选择任何内容,则将返回null或基于TreeSelectionModel实现返回的空数组。
        结果
        一个整数数组,用于标识当前所选行,其中0是显示中的第一行
      • getSelectionCount

        @BeanProperty(bound=false)
        public int getSelectionCount()
        返回选定的节点数。
        结果
        选择的节点数
      • getMinSelectionRow

        @BeanProperty(bound=false)
        public int getMinSelectionRow()
        返回最小的选定行。 如果选择为空,或者没有-1路径可见,则返回-1
        结果
        最小的选定行
      • getMaxSelectionRow

        @BeanProperty(bound=false)
        public int getMaxSelectionRow()
        返回最大的选定行。 如果选择为空,或者没有-1路径可见,则返回-1
        结果
        最大的选定行
      • getLeadSelectionRow

        @BeanProperty(bound=false)
        public int getLeadSelectionRow()
        返回与前导路径对应的行索引。
        结果
        给出引导路径的行索引的整数,其中0是显示中的第一行; 如果leadPathnullleadPath -1
      • isPathSelected

        public boolean isPathSelected​(TreePath path)
        如果当前选择了路径标识的项,则返回true。
        参数
        path - 识别节点的 TreePath
        结果
        如果选择了节点,则为true
      • isRowSelected

        public boolean isRowSelected​(int row)
        如果选择了由行标识的节点,则返回true。
        参数
        row - 指定显示行的整数,其中0是显示中的第一行
        结果
        如果选择了节点,则为true
      • getExpandedDescendants

        public Enumeration<TreePath> getExpandedDescendants​(TreePath parent)
        返回一个Enumeration路径的后裔parent当前展开。 如果parent当前没有扩大,这将返回null 如果在迭代返回的Enumeration时展开/折叠节点,则可能无法返回所有展开的路径,或者可能返回不再展开的路径。
        参数
        parent - 要检查的路径
        结果
        Enumeration的后代 parent ,或 null如果 parent目前未扩展
      • hasBeenExpanded

        public boolean hasBeenExpanded​(TreePath path)
        如果路径标识的节点曾被扩展,则返回true。
        参数
        path - 标识节点的 TreePath
        结果
        如果 path已经扩展, path true
      • isExpanded

        public boolean isExpanded​(TreePath path)
        如果路径标识的节点当前已展开,则返回true,
        参数
        path - 指定要检查的节点的 TreePath
        结果
        如果节点路径中的任何节点都已折叠,则返回false;如果路径中的所有节点都已展开,则为true
      • isExpanded

        public boolean isExpanded​(int row)
        如果当前展开指定显示行的节点,则返回true。
        参数
        row - 要检查的行,其中0是显示中的第一行
        结果
        如果节点当前已展开,则为true,否则为false
      • isCollapsed

        public boolean isCollapsed​(TreePath path)
        如果path标识的值当前已折叠,则返回true,如果当前未显示path中的任何值,则返回false。
        参数
        path - 要检查的 TreePath
        结果
        如果节点路径中的任何节点都已折叠,则返回true;如果路径中的所有节点都已展开,则返回false
      • isCollapsed

        public boolean isCollapsed​(int row)
        如果折叠指定显示行的节点,则返回true。
        参数
        row - 要检查的行,其中0是显示中的第一行
        结果
        如果节点当前已折叠,则为true,否则为false
      • makeVisible

        public void makeVisible​(TreePath path)
        确保路径标识的节点当前可见。
        参数
        path - 使 TreePath可见
      • isVisible

        public boolean isVisible​(TreePath path)
        如果path标识的值当前是可见的,则返回true,这意味着它是根或其所有父项都已展开。 否则,此方法返回false。
        参数
        path - TreePath标识节点
        结果
        如果节点可见,则返回true,否则返回false
      • getPathBounds

        public Rectangle getPathBounds​(TreePath path)
        返回将绘制指定节点的Rectangle 如果路径中的任何组件被隐藏(在折叠的父项下),则返回null

        注意:
        即使当前未显示指定的节点,此方法也会返回有效的矩形。

        参数
        path - 标识节点的 TreePath
        结果
        Rectangle节点被绘制,或 null
      • getRowBounds

        public Rectangle getRowBounds​(int row)
        返回绘制指定行的节点的 Rectangle
        参数
        row - 要绘制的行,其中0是显示中的第一行
        结果
        绘制节点的 Rectangle
      • scrollPathToVisible

        public void scrollPathToVisible​(TreePath path)
        确保路径中的所有路径组件都已展开(最后一个路径组件除外)并滚动,以便显示由路径标识的节点。 仅当JTree包含在JScrollPane
        参数
        path - 标识要进入视图的节点的 TreePath
      • scrollRowToVisible

        public void scrollRowToVisible​(int row)
        滚动由行标识的项目,直到显示该项目。 执行使行进入视图所需的最小滚动量。 仅当JTree包含在JScrollPane
        参数
        row - 指定要滚动的行的整数,其中0是显示中的第一行
      • getPathForRow

        @BeanProperty(bound=false)
        public TreePath getPathForRow​(int row)
        返回指定行的路径。 如果row是不可见的,或TreeUI尚未确定, null返回。
        参数
        row - 指定行的整数
        结果
        TreePath到指定节点, null如果是 row < 0row >= getRowCount()
      • getRowForPath

        public int getRowForPath​(TreePath path)
        返回显示指定路径标识的节点的行。
        参数
        path - 标识节点的 TreePath
        结果
        指定显示行的整数,其中0是显示中的第一行,如果路径中的任何元素隐藏在折叠父级下,则返回-1。
      • expandPath

        public void expandPath​(TreePath path)
        确保指定路径标识的节点已展开并可查看。 如果路径中的最后一项是叶子,则无效。
        参数
        path - 标识节点的 TreePath
      • expandRow

        public void expandRow​(int row)
        确保指定行中的节点已展开并可查看。

        如果row <0或> = getRowCount则无效。

        参数
        row - 指定显示行的整数,其中0是显示中的第一行
      • collapsePath

        public void collapsePath​(TreePath path)
        确保指定路径标识的节点已折叠并可查看。
        参数
        path - 标识节点的 TreePath
      • collapseRow

        public void collapseRow​(int row)
        确保指定行中的节点已折叠。

        如果row <0或> = getRowCount则无效。

        参数
        row - 指定显示行的整数,其中0是显示中的第一行
      • getPathForLocation

        public TreePath getPathForLocation​(int x,
                                           int y)
        返回指定位置的节点的路径。
        参数
        x - 一个整数,给出显示区域左边缘水平的像素数,减去任何左边距
        y - 一个整数,给出显示区域顶部垂直的像素数,减去任何上边距
        结果
        该位置的节点的 TreePath
      • getRowForLocation

        public int getRowForLocation​(int x,
                                     int y)
        返回指定位置的行。
        参数
        x - 一个整数,给出从显示区域左边缘水平的像素数,减去任何左边距
        y - 一个整数,给出显示区域顶部垂直的像素数,减去任何上边距
        结果
        对应于该位置的行,如果该位置不在显示的单元格的范围内,则为-1
        另请参见:
        getClosestRowForLocation(int, int)
      • getClosestPathForLocation

        public TreePath getClosestPathForLocation​(int x,
                                                  int y)
        返回最接近x,y的节点的路径。 如果当前没有节点可见,或者没有模型,则返回null ,否则它始终返回有效路径。 要测试节点是否正好在x,y,请获取节点的边界并对其测试x,y。
        参数
        x - 一个整数,给出显示区域左边缘水平的像素数,减去任何左边距
        y - 一个整数,给出显示区域顶部垂直的像素数,减去任何上边距
        结果
        TreePath是最接近该位置的节点, null如果没有可见的或没有模型
        另请参见:
        getPathForLocation(int, int)getPathBounds(javax.swing.tree.TreePath)
      • getClosestRowForLocation

        public int getClosestRowForLocation​(int x,
                                            int y)
        将行返回到最接近x,y的节点。 如果没有节点可见或没有模型,则返回-1。 否则,它总是返回一个有效的行。 要测试返回的对象是否完全位于x,y,请获取返回行中节点的边界,然后测试x,y。
        参数
        x - 一个整数,给出显示区域左边缘水平的像素数,减去任何左边距
        y - 一个整数,给出显示区域顶部垂直的像素数,减去任何上边距
        结果
        最靠近该位置的行,如果没有可见的或没有模型,则为-1
        另请参见:
        getRowForLocation(int, int)getRowBounds(int)
      • isEditing

        @BeanProperty(bound=false)
        public boolean isEditing()
        如果正在编辑树,则返回true。 可以使用getSelectionPath获取正在编辑的项目。
        结果
        如果用户当前正在编辑节点,则为true
        另请参见:
        getSelectionPath()
      • stopEditing

        public boolean stopEditing()
        结束当前的编辑会话。 DefaultTreeCellEditor对象保存单元格上当前正在进行的所有编辑。其他实现可能以不同方式运行。)如果未编辑树,则无效。
        Note:
        To make edit-saves automatic whenever the user changes their position in the tree, use setInvokesStopCellEditing(boolean).
        结果
        如果正在进行编辑并且现在已停止,则为true;如果正在进行编辑,则为false
      • cancelEditing

        public void cancelEditing()
        取消当前编辑会话。 如果未编辑树,则无效。
      • startEditingAtPath

        public void startEditingAtPath​(TreePath path)
        选择由指定路径标识的节点并启动编辑。 如果CellEditor不允许编辑指定的项目,则编辑尝试将失败。
        参数
        path - 标识节点的 TreePath
      • getEditingPath

        @BeanProperty(bound=false)
        public TreePath getEditingPath()
        返回当前正在编辑的元素的路径。
        结果
        正在编辑的节点的 TreePath
      • setSelectionModel

        @BeanProperty(description="The tree\'s selection model.")
        public void setSelectionModel​(TreeSelectionModel selectionModel)
        设置树的选择模型。 指定null值时,将使用空selectionModel ,但不允许选择。

        这是一个绑定属性。

        参数
        selectionModel - 要使用的 TreeSelectionModelnull禁用选择
        另请参见:
        TreeSelectionModel
      • getPathBetweenRows

        protected TreePath[] getPathBetweenRows​(int index0,
                                                int index1)
        返回指定行之间的路径(包括)。 如果指定的索引位于可查看的行集内,或者绑定了可查看的行集,则索引将受可查看的行集约束。 如果指定的索引不在可查看的行集内,或者未绑定可查看的行集,则返回空数组。 例如,如果行计数为10 ,并且使用-1, 20调用此方法,则指定的索引将被约束到可查看的行集,并将其视为使用0, 9调用。 另一方面,如果使用-10, -1调用此方法,则指定的索引不会绑定可查看的行集,并返回空数组。

        参数不依赖于顺序。 也就是说, getPathBetweenRows(x, y)相当于getPathBetweenRows(y, x)

        如果行计数为0 ,则返回空数组,或者指定的索引不绑定可查看的行集。

        参数
        index0 - 范围内的第一个索引
        index1 - 范围中的最后一个索引
        结果
        指定行索引之间的路径(包括)
      • setSelectionInterval

        public void setSelectionInterval​(int index0,
                                         int index1)
        选择指定时间间隔(包括)的行。 如果指定的索引位于可查看的行集内,或绑定了可查看的行集,则指定的行将受可查看的行集约束。 如果指定的索引不在可查看的行集内,或者未绑定可查看的行集,则清除选择。 例如,如果行计数为10 ,并且使用-1, 20调用此方法,则指定的索引将限制可查看范围,并将其视为使用0, 9调用。 另一方面,如果使用-10, -1调用此方法,则指定的索引不会绑定可查看的行集,并清除选择。

        参数不依赖于顺序。 也就是说, setSelectionInterval(x, y)相当于setSelectionInterval(y, x)

        参数
        index0 - 要选择的范围中的第一个索引
        index1 - 要选择的范围中的最后一个索引
      • addSelectionInterval

        public void addSelectionInterval​(int index0,
                                         int index1)
        将指定的行(包括)添加到选择中。 如果指定的索引位于可查看的行集内,或绑定了可查看的行集,则指定的索引将受可查看的行集约束。 如果索引不在可查看的行集内,或者未绑定可查看的行集,则选择不会更改。 例如,如果行计数为10 ,并且使用-1, 20调用此方法,则指定的索引将-1, 20可查看范围,并将其视为使用0, 9调用。 另一方面,如果使用-10, -1调用此方法,则指定的索引不会绑定可查看的行集,并且选择不会更改。

        参数不依赖于顺序。 也就是说, addSelectionInterval(x, y)相当于addSelectionInterval(y, x)

        参数
        index0 - 要添加到选择范围的第一个索引
        index1 - 要添加到选择范围的最后一个索引
      • removeSelectionInterval

        public void removeSelectionInterval​(int index0,
                                            int index1)
        从选择中删除指定的行(包括)。 如果指定的索引位于可查看的行集内,或绑定了可查看的行集,则指定的索引将受可查看的行集约束。 如果指定的索引不在可查看的行集内,或者未绑定可查看的行集,则选择不会更改。 例如,如果行计数为10 ,并且使用-1, 20调用此方法,则指定的范围将限制可查看范围,并将其视为使用0, 9调用。 另一方面,如果使用-10, -1调用-10, -1 ,则指定的范围不会绑定可查看的行集,并且选择不会更改。

        参数不依赖于顺序。 也就是说, removeSelectionInterval(x, y)相当于removeSelectionInterval(y, x)

        参数
        index0 - 要从选择中删除的第一行
        index1 - 要从选择中删除的最后一行
      • removeSelectionPath

        public void removeSelectionPath​(TreePath path)
        从当前选择中删除指定路径标识的节点。
        参数
        path - 标识节点的 TreePath
      • removeSelectionPaths

        public void removeSelectionPaths​(TreePath[] paths)
        从当前选择中删除指定路径标识的节点。
        参数
        paths - 一个 TreePath对象的数组,指定要删除的节点
      • removeSelectionRow

        public void removeSelectionRow​(int row)
        从当前选择中删除索引 row处的行。
        参数
        row - 要删除的行
      • removeSelectionRows

        public void removeSelectionRows​(int[] rows)
        删除在每个指定行中选择的行。
        参数
        rows - 指定显示行的int数组,其中0是显示中的第一行
      • clearSelection

        public void clearSelection()
        清除选择。
      • isSelectionEmpty

        @BeanProperty(bound=false)
        public boolean isSelectionEmpty()
        如果选择当前为空,则返回true。
        结果
        如果选择当前为空,则为true
      • addTreeExpansionListener

        public void addTreeExpansionListener​(TreeExpansionListener tel)
        TreeExpansion事件添加侦听 TreeExpansion
        参数
        tel - 树展开或折叠时将收到通知的TreeExpansionListener(“负扩展”)
      • removeTreeExpansionListener

        public void removeTreeExpansionListener​(TreeExpansionListener tel)
        删除 TreeExpansion事件的侦听 TreeExpansion
        参数
        tel - 要删除的 TreeExpansionListener
      • getTreeExpansionListeners

        @BeanProperty(bound=false)
        public TreeExpansionListener[] getTreeExpansionListeners()
        返回使用addTreeExpansionListener()添加到此JTree的所有 TreeExpansionListener的数组。
        结果
        如果没有添加任何侦听器,则添加所有 TreeExpansionListener或空数组
        从以下版本开始:
        1.4
      • addTreeWillExpandListener

        public void addTreeWillExpandListener​(TreeWillExpandListener tel)
        TreeWillExpand事件添加侦听 TreeWillExpand
        参数
        tel - TreeWillExpandListener将在树节点展开或折叠时收到通知(“负扩展”)
      • removeTreeWillExpandListener

        public void removeTreeWillExpandListener​(TreeWillExpandListener tel)
        删除 TreeWillExpand事件的侦听 TreeWillExpand
        参数
        tel - 要删除的 TreeWillExpandListener
      • getTreeWillExpandListeners

        @BeanProperty(bound=false)
        public TreeWillExpandListener[] getTreeWillExpandListeners()
        返回使用addTreeWillExpandListener()添加到此JTree的所有 TreeWillExpandListener的数组。
        结果
        如果没有添加任何侦听器,则添加所有 TreeWillExpandListener或空数组
        从以下版本开始:
        1.4
      • fireTreeExpanded

        public void fireTreeExpanded​(TreePath path)
        通知所有已注册对此事件类型的通知感兴趣的听众。 使用path参数延迟创建事件实例。
        参数
        path - TreePath指示已展开的节点
        另请参见:
        EventListenerList
      • fireTreeCollapsed

        public void fireTreeCollapsed​(TreePath path)
        通知所有已注册对此事件类型的通知感兴趣的听众。 使用path参数延迟创建事件实例。
        参数
        path - 指示已折叠节点的 TreePath
        另请参见:
        EventListenerList
      • fireTreeWillExpand

        public void fireTreeWillExpand​(TreePath path)
                                throws ExpandVetoException
        通知所有已注册对此事件类型的通知感兴趣的听众。 使用path参数延迟创建事件实例。
        参数
        path - TreePath指示已展开的节点
        异常
        ExpandVetoException - 如果阻止扩展
        另请参见:
        EventListenerList
      • fireTreeWillCollapse

        public void fireTreeWillCollapse​(TreePath path)
                                  throws ExpandVetoException
        通知所有已注册对此事件类型的通知感兴趣的听众。 使用path参数延迟创建事件实例。
        参数
        path - 指示已展开的节点的 TreePath
        异常
        ExpandVetoException - 如果阻止崩溃发生
        另请参见:
        EventListenerList
      • addTreeSelectionListener

        public void addTreeSelectionListener​(TreeSelectionListener tsl)
        TreeSelection事件添加侦听 TreeSelection
        参数
        tsl - 选择或取消选择节点时将通知的 TreeSelectionListener (“否定选择”)
      • removeTreeSelectionListener

        public void removeTreeSelectionListener​(TreeSelectionListener tsl)
        删除 TreeSelection侦听器。
        参数
        tsl - 要删除的 TreeSelectionListener
      • getTreeSelectionListeners

        @BeanProperty(bound=false)
        public TreeSelectionListener[] getTreeSelectionListeners()
        返回使用addTreeSelectionListener()添加到此JTree的所有 TreeSelectionListener的数组。
        结果
        如果没有添加任何侦听器,则添加所有 TreeSelectionListener或空数组
        从以下版本开始:
        1.4
      • fireValueChanged

        protected void fireValueChanged​(TreeSelectionEvent e)
        通知所有已注册对此事件类型的通知感兴趣的听众。
        参数
        e - 被解雇的TreeSelectionEvent ; 选择或取消选择节点时由TreeSelectionModel生成的
        另请参见:
        EventListenerList
      • treeDidChange

        public void treeDidChange()
        当树已经足够改变以便我们需要调整边界时发送,但是我们不需要移除扩展的节点集(例如,节点被展开或折叠,或节点被插入到树中)。 您永远不必调用它,UI将根据需要调用它。
      • setVisibleRowCount

        @BeanProperty(description="The number of rows that are to be displayed.")
        public void setVisibleRowCount​(int newCount)
        设置要显示的行数。 这仅在树包含在JScrollPane ,并将调整该滚动窗格的首选大小和大小。

        这是一个绑定属性。

        参数
        newCount - 要显示的行数
      • getVisibleRowCount

        public int getVisibleRowCount()
        返回显示区域中显示的行数。
        结果
        显示的行数
      • getNextMatch

        public TreePath getNextMatch​(String prefix,
                                     int startingRow,
                                     Position.Bias bias)
        将TreePath返回到以前缀开头的下一个树元素。 要处理将TreePath转换为字符串, convertValueToText使用convertValueToText
        参数
        prefix - 要测试匹配的字符串
        startingRow - 开始搜索的行
        bias - 搜索方向,Position.Bias.Forward或Position.Bias.Backward。
        结果
        以前缀开头的下一个树元素的TreePath; 否则为null
        异常
        IllegalArgumentException - 如果prefix为null或startingRow超出范围
        从以下版本开始:
        1.4
      • getScrollableUnitIncrement

        public int getScrollableUnitIncrement​(Rectangle visibleRect,
                                              int orientation,
                                              int direction)
        返回滚动时要增加的量。 数量是第一个显示的行的高度,它不是完全在视图中,或者如果完全显示,则是滚动方向上下一行的高度。
        Specified by:
        getScrollableUnitIncrement ,界面 Scrollable
        参数
        visibleRect - 视口中可见的视图区域
        orientation - SwingConstants.VERTICALSwingConstants.HORIZONTAL
        direction - 向上/向左滚动小于零,向下/向右滚动大于零
        结果
        用于在指定方向上滚动的“单位”增量
        另请参见:
        JScrollBar.setUnitIncrement(int)
      • getScrollableBlockIncrement

        public int getScrollableBlockIncrement​(Rectangle visibleRect,
                                               int orientation,
                                               int direction)
        返回块增量的数量,即 visibleRect的高度或宽度,基于 orientation
        Specified by:
        getScrollableBlockIncrement接口 Scrollable
        参数
        visibleRect - 视口中可见的视图区域
        orientation - SwingConstants.VERTICALSwingConstants.HORIZONTAL
        direction - 向上/向左滚动小于零,向下/向右滚动大于零。
        结果
        滚动指定方向的“块”增量
        另请参见:
        JScrollBar.setBlockIncrement(int)
      • setExpandedState

        protected void setExpandedState​(TreePath path,
                                        boolean state)
        设置此JTree的展开状态。 如果state为true,则path和路径的所有父项都标记为已展开。 如果state为false,则state所有父path都标记为EXPANDED,但path本身标记为已折叠。

        如果TreeWillExpandListener审查它将失败。

        参数
        path - 标识节点的 TreePath
        state - 如果是true ,@ {code path}和路径的所有父项都标记为已展开。 否则, path所有父母都标记为EXPANDED,但path本身标记为已折叠。
      • getDescendantToggledPaths

        protected Enumeration<TreePath> getDescendantToggledPaths​(TreePath parent)
        返回已扩展的 EnumerationTreePaths ,后者为 parent
        参数
        parent - 一条路
        结果
        Enumeration of TreePaths
      • removeDescendantToggledPaths

        protected void removeDescendantToggledPaths​(Enumeration<TreePath> toRemove)
        删除已展开的 TreePathstoRemove所有后代。
        参数
        toRemove - 要删除的路径的枚举; null被忽略
        异常
        ClassCastException - 如果toRemove包含的元素不是TreePath ; 将忽略null
      • clearToggledPaths

        protected void clearToggledPaths()
        清除切换树路径的缓存。 这不发送任何TreeExpansionListener事件。
      • createTreeModelListener

        protected TreeModelListener createTreeModelListener()
        创建并返回TreeModelHandler的实例。 返回的对象负责在TreeModel更改时更新展开状态。

        有关扩展状态的含义的更多信息,请参阅上面的JTree description

        结果
        TreeModelHandler的实例
      • removeDescendantSelectedPaths

        protected boolean removeDescendantSelectedPaths​(TreePath path,
                                                        boolean includePath)
        删除选择中作为path后代的所有路径。 如果includePath为true且选择了path ,则将从选择中删除它。
        参数
        path - 一条路
        includePath - 是 truepath被选中,它将从选择中删除。
        结果
        如果选择了后代,则为true
        从以下版本开始:
        1.3
      • paramString

        protected String paramString()
        返回此JTree的字符串表示JTree 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
        重写:
        paramString在类 JComponent
        结果
        JTree的字符串表示 JTree