java.lang.Object
javax.swing.tree.TreePath
- 所有已实现的接口:
Serializable
TreePath 表示一组对象,这些对象唯一标识树中节点的路径。数组的元素以根作为数组的第一个元素来排序。例如,文件系统上的一个文件是根据父目录数组和文件名来唯一标识的。路径 /tmp/foo/bar 可以由 TreePath 表示为 new TreePath(new Object[] {"tmp", "foo", "bar"})。
TreePath 被 JTree 和相关类广泛使用。例如,JTree 将选择表示为 TreePath 的数组。当与 JTree 一起使用时,路径的元素是从 TreeModel 返回的对象。当 JTree 与 DefaultTreeModel 配对时,路径的元素是 TreeNode s。以下示例说明了从 JTree 的选择中提取用户对象:
DefaultMutableTreeNode root = ...;
DefaultTreeModel model = new DefaultTreeModel(root);
JTree tree = new JTree(model);
...
TreePath selectedPath = tree.getSelectionPath();
DefaultMutableTreeNode selectedNode =
((DefaultMutableTreeNode)selectedPath.getLastPathComponent());
Object myObject= selectedNode.getUserObject();
子类通常只需要覆盖 getLastPathComponent 和 getParentPath 。由于 JTree 在不同点内部创建 TreePath ,因此将 TreePath 子类化并与 JTree 一起使用通常没有用。
虽然 TreePath 是可序列化的,但如果路径的任何元素不可序列化,则会抛出 NotSerializableException。
有关使用树路径的更多信息和示例,请参阅 The Java Tutorial. 中的 如何使用树木
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述boolean将此TreePath与指定对象进行比较。返回此路径的最后一个元素。返回父级的TreePath。Object[]getPath()返回此TreePath的元素的有序数组。getPathComponent(int index) 返回指定索引处的路径元素。int返回路径中的元素数。inthashCode()返回此TreePath的哈希码。booleanisDescendant(TreePath aTreePath) 如果aTreePath是此TreePath的后代,则返回 true。pathByAddingChild(Object child) 返回包含此路径的所有元素加上child的新路径。toString()返回显示和标识此对象属性的字符串。
-
构造方法详细信息
-
TreePath
从数组创建TreePath。该数组唯一标识到节点的路径。- 参数:
path- 表示节点路径的对象数组- 抛出:
IllegalArgumentException- 如果path是null、空的或包含null值
-
TreePath
创建一个包含单个元素的TreePath。这用于构造一个TreePath标识根。- 参数:
lastPathComponent- 根- 抛出:
IllegalArgumentException- 如果lastPathComponent是null- 参见:
-
TreePath
使用指定的父元素和元素创建一个TreePath。- 参数:
parent- 父级的路径,或null表示根lastPathComponent- 最后一个路径元素- 抛出:
IllegalArgumentException- 如果lastPathComponent是null
-
TreePath
从数组创建TreePath。返回的TreePath表示从0到length - 1的数组元素。此构造方法在内部使用,通常在子类之外没有用。
- 参数:
path- 从中创建TreePath的数组length- 标识path中的元素数量,以从中创建TreePath- 抛出:
NullPointerException- 如果path是nullArrayIndexOutOfBoundsException- 如果length - 1超出数组范围IllegalArgumentException- 如果从0到length - 1的任何元素是null
-
TreePath
protected TreePath()创建一个空的TreePath。这是为以不同方式表示路径的子类提供的。使用此构造函数的子类必须覆盖getLastPathComponent和getParentPath。
-
-
方法详情
-
getPath
返回此TreePath的元素的有序数组。第一个元素是根。- 返回:
-
这个
TreePath中的元素数组
-
getLastPathComponent
返回此路径的最后一个元素。- 返回:
- 路径中的最后一个元素
-
getPathCount
public int getPathCount()返回路径中的元素数。- 返回:
- 路径中的元素数
-
getPathComponent
返回指定索引处的路径元素。- 参数:
index- 请求的元素的索引- 返回:
- 指定索引处的元素
- 抛出:
IllegalArgumentException- 如果索引超出此路径的范围
-
equals
将此TreePath与指定对象进行比较。如果o是具有完全相同元素的TreePath(通过在路径的每个元素上使用equals确定),则返回true。 -
hashCode
public int hashCode()返回此TreePath的哈希码。TreePath的哈希码是路径中最后一个元素的哈希码。 -
isDescendant
如果aTreePath是此TreePath的后代,则返回 true。如果P1包含构成P2's路径的所有元素,则TreePathP1是TreePathP2的后代。例如,如果此对象的路径为[a, b],而aTreePath的路径为[a, b, c],则aTreePath是此对象的后代。但是,如果aTreePath具有路径[a],则它不是该对象的后代。根据此定义,TreePath始终被视为其自身的后代。也就是说,aTreePath.isDescendant(aTreePath)返回true。- 参数:
aTreePath- 要检查的TreePath- 返回:
-
如果
aTreePath是此路径的后代,则为真
-
pathByAddingChild
返回包含此路径的所有元素加上child的新路径。child是新创建的TreePath的最后一个元素。- 参数:
child- 要添加的路径元素- 返回:
-
包含此路径的所有元素加上
child的新路径 - 抛出:
NullPointerException- 如果child是null
-
getParentPath
返回父级的TreePath。null的返回值表示这是根节点。- 返回:
- 父路径
-
toString
返回显示和标识此对象属性的字符串。
-