- java.lang.Object
-
- javax.swing.tree.TreePath
-
- 实现的所有接口
-
Serializable
public class TreePath extends Object implements Serializable
TreePath表示唯一标识树中节点的路径的对象数组。 数组的元素以root作为数组的第一个元素排序。 例如,基于父目录数组和文件名唯一地标识文件系统上的文件。 路径/tmp/foo/bar可以由TreePath表示为new TreePath(new Object[] {"tmp", "foo", "bar"})。TreePath被JTree及相关类别广泛使用。 例如,JTree将选择表示为TreePaths的数组。 与JTree使用时,路径的元素是从TreeModel返回的对象。 当JTree与DefaultTreeModel配对时,路径的元素为TreeNodes。 以下示例说明从JTree的选择中提取用户对象:DefaultMutableTreeNode root = ...; DefaultTreeModel model = new DefaultTreeModel(root); JTree tree = new JTree(model); ... TreePath selectedPath = tree.getSelectionPath(); DefaultMutableTreeNode selectedNode = ((DefaultMutableTreeNode)selectedPath.getLastPathComponent()). getUserObject();子类通常只需要覆盖getLastPathComponent和getParentPath。 由于JTree内部在各个点创建TreePaths,因此通常TreePath类TreePath并与JTreeTreePath使用。虽然
TreePath是可序列化的,NotSerializableException如果路径的任何元素不可序列化,则抛出NotSerializableException。有关使用树路径的更多信息和示例,请参阅The Java Tutorial中的 How to Use Trees 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 变量 构造器 描述 protectedTreePath()创建一个空TreePath。TreePath(Object lastPathComponent)创建包含单个元素的TreePath。TreePath(Object[] path)从数组创建TreePath。protectedTreePath(Object[] path, int length)从数组创建TreePath。protectedTreePath(TreePath parent, Object lastPathComponent)使用指定的父元素创建TreePath。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 booleanequals(Object o)将此TreePath与指定的对象进行比较。ObjectgetLastPathComponent()返回此路径的最后一个元素。TreePathgetParentPath()返回父级的TreePath。Object[]getPath()返回此TreePath的元素的有序数组。ObjectgetPathComponent(int index)返回指定索引处的path元素。intgetPathCount()返回路径中的元素数。inthashCode()返回此TreePath的哈希码。booleanisDescendant(TreePath aTreePath)如果aTreePath是此TreePath的后代,则返回true。TreePathpathByAddingChild(Object child)返回包含此路径的所有元素的新路径以及child。StringtoString()返回显示和标识此对象属性的字符串。
-
-
-
构造方法详细信息
-
TreePath
@ConstructorProperties("path") public TreePath(Object[] path)
从数组创建TreePath。 该数组唯一标识节点的路径。- 参数
-
path- 表示节点路径的对象数组 - 异常
-
IllegalArgumentException- 如果path是null,为空,或包含null值
-
TreePath
public TreePath(Object lastPathComponent)
创建包含单个元素的TreePath。 这用于构造标识根的TreePath。- 参数
-
lastPathComponent- 根 - 异常
-
IllegalArgumentException- 如果lastPathComponent是null - 另请参见:
-
TreePath(Object[])
-
TreePath
protected TreePath(TreePath parent, Object lastPathComponent)
使用指定的父元素创建TreePath。- 参数
-
parent- 父级的路径,或null以指示根 -
lastPathComponent- 最后一个路径元素 - 异常
-
IllegalArgumentException- 如果lastPathComponent是null
-
TreePath
protected TreePath(Object[] path, int length)
从数组创建TreePath。 返回的TreePath表示从0到length - 1的数组元素。此构造函数在内部使用,通常在子类之外无用。
- 参数
-
path- 从中创建TreePath的数组 -
length- 标识path用于创建TreePath的元素数 - 异常
-
NullPointerException- 如果path是null -
ArrayIndexOutOfBoundsException- 如果length - 1超出阵列范围 -
IllegalArgumentException- 如果0至length - 1中的任何元素是null
-
TreePath
protected TreePath()
创建一个空TreePath。 这是为以不同方式表示路径的子类提供的。 使用此构造函数的子类必须覆盖getLastPathComponent和getParentPath。
-
-
方法详细信息
-
getPath
public Object[] getPath()
返回此TreePath的元素的有序数组。 第一个元素是根。- 结果
-
此
TreePath中的元素数组
-
getLastPathComponent
public Object getLastPathComponent()
返回此路径的最后一个元素。- 结果
- 路径中的最后一个元素
-
getPathCount
public int getPathCount()
返回路径中的元素数。- 结果
- 路径中的元素数量
-
getPathComponent
public Object getPathComponent(int index)
返回指定索引处的path元素。- 参数
-
index- 请求的元素的索引 - 结果
- 指定索引处的元素
- 异常
-
IllegalArgumentException- 如果索引超出此路径的范围
-
equals
public boolean equals(Object o)
将此TreePath与指定的对象进行比较。 如果o是具有完全相同元素的TreePath(通过在路径的每个元素上使用equals确定),则返回true。- 重写:
-
equals在课堂上Object - 参数
-
o- 要比较的对象 - 结果
-
true如果此对象与obj参数相同; 否则为false。 - 另请参见:
-
Object.hashCode(),HashMap
-
hashCode
public int hashCode()
返回此TreePath的哈希码。TreePath的哈希码是路径中最后一个元素的哈希码。- 重写:
-
hashCodein classObject - 结果
- 对象的hashCode
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
isDescendant
public boolean isDescendant(TreePath aTreePath)
如果aTreePath是此TreePath的后代,则返回true。 一个TreePathP1是的后裔TreePathP2如果P1包含所有构成元素P2's路径。 例如,如果此对象具有路径[a, b],而aTreePath具有路径[a, b, c],则aTreePath是此对象的后代。 但是,如果aTreePath具有路径[a],则它不是此对象的后代。 根据这个定义,TreePath始终被认为是其自身的后代。 也就是说,aTreePath.isDescendant(aTreePath)返回true。- 参数
-
aTreePath- 要检查的TreePath - 结果
-
如果
aTreePath是此路径的后代,则aTreePathtrue
-
pathByAddingChild
public TreePath pathByAddingChild(Object child)
返回包含此路径的所有元素的新路径以及child。child是新创建的TreePath的最后一个元素。- 参数
-
child- 要添加的路径元素 - 结果
-
包含此路径的所有元素的新路径加上
child - 异常
-
NullPointerException- 如果child是null
-
getParentPath
public TreePath getParentPath()
返回父级的TreePath。 返回值null表示这是根节点。- 结果
- 父路径
-
-