Module  java.desktop
软件包  javax.swing

Class JTree

  • All Implemented Interfaces:
    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
    将一组分层数据显示为轮廓的控件。 您可以在“Java教程”一节中的 How to Use Trees”中找到面向任务的文档和使用树的示例。

    树中的特定节点可以通过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类一样,您可以使用InputMapActionMap将一个Action对象与一个KeyStroke关联,并在指定的条件下执行该操作。

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

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

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

      • treeModel

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

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

        protected boolean rootVisible
        如果显示根节点,则为真,如果子节点是最高可见节点,则为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
      • 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 ,并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
        另请参见:
        Constant Field Values
      • TREE_MODEL_PROPERTY

        public static final String TREE_MODEL_PROPERTY
        绑定属性名称为 treeModel
        另请参见:
        Constant Field Values
      • ROOT_VISIBLE_PROPERTY

        public static final String ROOT_VISIBLE_PROPERTY
        绑定属性名称为 rootVisible
        另请参见:
        Constant Field Values
      • SHOWS_ROOT_HANDLES_PROPERTY

        public static final String SHOWS_ROOT_HANDLES_PROPERTY
        绑定属性名称为 showsRootHandles
        另请参见:
        Constant Field Values
      • ROW_HEIGHT_PROPERTY

        public static final String ROW_HEIGHT_PROPERTY
        绑定属性名称为 rowHeight
        另请参见:
        Constant Field Values
      • CELL_EDITOR_PROPERTY

        public static final String CELL_EDITOR_PROPERTY
        绑定属性名称为 cellEditor
        另请参见:
        Constant Field Values
      • EDITABLE_PROPERTY

        public static final String EDITABLE_PROPERTY
        绑定属性名称为 editable
        另请参见:
        Constant Field Values
      • LARGE_MODEL_PROPERTY

        public static final String LARGE_MODEL_PROPERTY
        绑定属性名称为 largeModel
        另请参见:
        Constant Field Values
      • SELECTION_MODEL_PROPERTY

        public static final String SELECTION_MODEL_PROPERTY
        选择模型的绑定属性名称。
        另请参见:
        Constant Field Values
      • VISIBLE_ROW_COUNT_PROPERTY

        public static final String VISIBLE_ROW_COUNT_PROPERTY
        绑定属性名称为 visibleRowCount
        另请参见:
        Constant Field Values
      • INVOKES_STOP_CELL_EDITING_PROPERTY

        public static final String INVOKES_STOP_CELL_EDITING_PROPERTY
        绑定属性名称为 messagesStopCellEditing
        另请参见:
        Constant Field Values
      • SCROLLS_ON_EXPAND_PROPERTY

        public static final String SCROLLS_ON_EXPAND_PROPERTY
        绑定属性名称为 scrollsOnExpand
        另请参见:
        Constant Field Values
      • TOGGLE_CLICK_COUNT_PROPERTY

        public static final String TOGGLE_CLICK_COUNT_PROPERTY
        绑定属性名称为 toggleClickCount
        另请参见:
        Constant Field Values
      • LEAD_SELECTION_PATH_PROPERTY

        public static final String LEAD_SELECTION_PATH_PROPERTY
        绑定属性名称为 leadSelectionPath
        从以下版本开始:
        1.3
        另请参见:
        Constant Field Values
      • ANCHOR_SELECTION_PATH_PROPERTY

        public static final String ANCHOR_SELECTION_PATH_PROPERTY
        锚点选择路径的绑定属性名称。
        从以下版本开始:
        1.3
        另请参见:
        Constant Field Values
      • EXPANDS_SELECTED_PATHS_PROPERTY

        public static final String EXPANDS_SELECTED_PATHS_PROPERTY
        用于展开所选路径属性的绑定属性名称
        从以下版本开始:
        1.3
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • JTree

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

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

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

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

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

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

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

      • getDefaultTreeModel

        protected static TreeModel getDefaultTreeModel​()
        创建并返回样品TreeModel 主要用于豆制品展示有趣的东西。
        结果
        默认为 TreeModel
      • createTreeModel

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

        public TreeUI getUI​()
        返回渲染此组件的L&F对象。
        重写:
        getUIJComponent
        结果
        呈现此组件的 TreeUI对象
      • updateUI

        public void updateUI​()
        来自UIManager通知说L&F已经改变了。 UIManager替换最新版本的当前UI对象。
        重写:
        updateUIJComponent
        另请参见:
        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中的cellEditor ,则在所有侦听器上调用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是否可见。

        这是一个绑定属性。

        参数
        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模型
        另请参见:
        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)
        设置节点将展开或关闭之前的鼠标点击次数。 默认是两个。

        这是一个绑定属性。

        参数
        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

        如果该组件具有TransferHandler接受丢弃,则丢弃模式才有意义。

        参数
        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)来完成。 这不是自动完成的!

        重写:
        getToolTipTextJComponent
        参数
        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为true,则它将被暴露(使可见)。
        参数
        path - 指定要选择的节点的 TreePath
      • setSelectionPaths

        public void setSelectionPaths​(TreePath[] paths)
        选择由指定的路径数组标识的节点。 如果任何路径中的任何组件隐藏(在折叠的节点下),并且getExpandsSelectedPaths为true,那么它将被暴露(使可见)。
        参数
        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为true,则显示为可见。

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

        参数
        path - 要添加的 TreePath
      • addSelectionPaths

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

        请注意, 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
        结果
        最小的选定行
      • getMaxSelectionRow

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

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

        public boolean isPathSelected​(TreePath path)
        如果路径标识的项目当前被选中,则返回true。
        参数
        path - a标识一个节点的 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
      • 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,如果当前没有显示路径中的任何值,则返回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 - 要使用的 TreeSelectionModel ,或 null禁用选择
        另请参见:
        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调用此方法,则指定的索引将限制可见范围,并将其视为使用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调用的,则指定的范围不会绑定可见的行集合,并且选择不变。

        参数不依赖于顺序。 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中的情况下JScrollPane ,并且将调整该滚动页面的首选大小和大小。

        这是一个绑定属性。

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

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

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

        public int getScrollableUnitIncrement​(Rectangle visibleRect,
                                              int orientation,
                                              int direction)
        返回滚动时增加的量。 数量是第一个显示行的高度,不是完全在视图中,或者如果它完全显示,滚动方向下一行的高度。
        Specified by:
        getScrollableUnitIncrement在接口 Scrollable
        参数
        visibleRect - 在视口内可见的视图区域
        orientation - SwingConstants.VERTICALSwingConstants.HORIZONTAL
        direction - 向上/向左滚动小于0,向下/向右大于零
        结果
        在指定方向滚动的“单位”增量
        另请参见:
        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是真的,所有的家长path和路径被标记为展开。 如果state为假,则所有path父母均标记为EXPANDED,但path本身标记为折叠。

        如果一个TreeWillExpandListener话,这将失败。

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

        protected Enumeration<TreePath> getDescendantToggledPaths​(TreePath parent)
        返回一个 EnumerationTreePaths已展开是后裔 parent
        参数
        parent - 一条路径
        结果
        EnumerationTreePaths
      • removeDescendantToggledPaths

        protected void removeDescendantToggledPaths​(Enumeration<TreePath> toRemove)
        删除已扩展的 TreePaths中的 toRemove任何后代。
        参数
        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为真,并选择了path ,则将从选择中删除。
        参数
        path - 一条路径
        includePath - 是 truepath被选中,它将从选择中删除。
        结果
        如果选择了后代,则为真
        从以下版本开始:
        1.3
      • paramString

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