- 所有已实现的接口:
-
Serializable
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参阅XMLEncoder
。
-
Field Summary
Modifier and TypeFieldDescriptionprotected int[]
标识子项位置的索引。protected Object[]
已删除的子项。protected TreePath
已更改节点的父节点路径。Fields declared in class java.util.EventObject
source
-
Constructor Summary
ConstructorDescriptionTreeModelEvent
(Object source, Object[] path) 用于在节点结构以某种方式更改时创建事件,将修改的子树的根路径标识为对象数组。TreeModelEvent
(Object source, Object[] path, int[] childIndices, Object[] children) 用于在节点已更改、插入或删除时创建事件,将修改的项的父路径标识为对象数组。TreeModelEvent
(Object source, TreePath path) 用于在节点结构以某种方式更改时创建事件,将修改的子树的根路径标识为TreePath对象。TreeModelEvent
(Object source, TreePath path, int[] childIndices, Object[] children) 用于在节点已更改、插入或删除时创建事件,将修改的项的父路径标识为TreePath对象。 -
Method Summary
Methods declared in class java.util.EventObject
getSource
-
Field Details
-
path
已更改节点的父节点路径。 -
childIndices
protected int[] childIndices标识子项位置的索引。 -
children
已删除的子项。
-
-
Constructor Details
-
TreeModelEvent
用于在节点已更改、插入或删除时创建事件,将修改的项的父路径标识为对象数组。所有修改的对象都是直接后代(而不是孙子)的同级对象。插入、删除或更改发生的位置由int
数组指定。该数组中的索引必须按顺序从低到高排列。对于更改,模型中的索引与当前在UI中显示的项目的索引完全对应。因此,如果索引不按确切顺序排列,实际上并不重要。但是,在多次插入或删除之后,UI中当前显示的项目不再对应模型中的项目。因此,对于插入和删除,正确指定索引非常重要。
对于插入,索引表示树的最终状态,在插入发生后的状态。由于索引必须按顺序指定,最自然的处理方法是从最低索引开始插入,然后向最高索引工作。随着插入的进行,累积一个指定插入位置的
Integer
对象的Vector,然后将Vector转换为int
数组以创建事件。当位置索引等于零时,节点插入到列表的开头。当位置索引等于列表的大小时,节点“插入”到列表的末尾(附加到列表)。对于删除,索引表示树的初始状态,在删除发生之前的状态。由于索引必须按顺序指定,最自然的处理方法是使用一个删除计数器。从零开始初始化计数器,并从最低到最高开始处理列表。每次执行删除时,将当前删除计数器的值添加到发生删除的索引位置,并使用
addElement()
将结果附加到删除位置的Vector中。然后增加删除计数器。因此,Vector中存储的索引位置反映了所有先前删除的影响,因此它们表示每个对象在初始树中的位置。(您还可以从最高索引开始,向最低索引工作,随着插入insertElementAt(Integer, 0)
,累积一个删除位置的Vector。)无论如何生成初始位置的Vector,然后需要将Integer
对象的Vector转换为int
数组以创建事件。注意:
- 与
DefaultTreeModel
类中的insertNodeInto
方法一样,当索引与向量的大小匹配时,insertElementAt
将附加到Vector
。因此,即使向量为空,也可以使用insertElementAt(Integer, 0)
。 - 要为根节点创建节点更改事件,请将父节点和子索引指定为
null
。
- 参数:
-
source
- 生成事件的对象(通常是事件对象的创建者将this
作为其值传递) -
path
- 一个对象数组,标识已更改项的父节点路径,数组的第一个元素是存储在根节点处的对象,最后一个元素是存储在父节点处的对象 -
childIndices
- 一个int
数组,指定已删除项的索引值。索引必须按从低到高的顺序排序 -
children
- 包含插入、删除或更改对象的对象数组 - 参见:
- 与
-
TreeModelEvent
用于在节点已更改、插入或删除时创建事件,将修改的项的父路径标识为TreePath对象。有关如何指定索引和对象的更多信息,请参阅TreeModelEvent(Object,Object[],int[],Object[])
。- 参数:
-
source
- 生成事件的对象(通常是事件对象的创建者将this
作为其值传递) -
path
- 标识已更改项的父节点路径的TreePath对象 -
childIndices
- 一个int
数组,指定已更改项的索引值 -
children
- 包含插入、删除或更改对象的对象数组 - 参见:
-
TreeModelEvent
用于在节点结构以某种方式更改时创建事件,将修改的子树的根路径标识为对象数组。结构更改事件可能涉及节点位置交换,或者可能封装来自节点衍生的子树中的多个插入和删除,其中更改可能发生在子树的不同级别。注意:
JTree会折叠指定节点下的所有节点,因此只有其直接子节点可见。- 参数:
-
source
- 生成事件的对象(通常是事件对象的创建者将this
作为其值传递) -
path
- 一个对象数组,标识已更改子树的根路径,数组的第一个元素是存储在根节点处的对象,最后一个元素是存储在更改节点处的对象 - 参见:
-
TreeModelEvent
用于在节点结构以某种方式更改时创建事件,将修改的子树的根路径标识为TreePath对象。有关此事件规范的更多信息,请参阅TreeModelEvent(Object,Object[])
。- 参数:
-
source
- 生成事件的对象(通常是事件对象的创建者将this
作为其值传递) -
path
- 标识更改路径的TreePath对象。在DefaultTreeModel中,此对象包含一个用户数据对象数组,但TreePath的子类可以使用完全不同的机制--例如,节点ID编号 - 参见:
-
-
Method Details
-
getTreePath
对于所有事件,除了treeStructureChanged,返回更改节点的父节点。对于treeStructureChanged事件,返回已更改结构的祖先。此方法和getChildIndices
用于获取受影响节点的列表。唯一的例外是用于标识根节点的treeNodesChanged事件,在这种情况下,此方法将返回根节点,
getChildIndices
将返回null。- 返回:
- 用于标识更改节点的TreePath。
- 参见:
-
getPath
从此事件包装的TreePath实例中获取对象数组的便捷方法。- 返回:
- 一个对象数组,第一个对象是存储在根节点处的对象,最后一个对象是存储在由路径标识的节点处的对象
-
getChildren
返回由getPath
标识的节点的子项对象,位置由getChildIndices
指定。如果这是一个删除事件,则返回的对象不再是父节点的子项。- 返回:
- 包含事件指定的子项的对象数组
- 参见:
-
getChildIndices
public int[] getChildIndices()返回子索引的值。如果这是一个移除事件,索引指向初始列表中删除项目的位置。如果是插入事件,索引指向最终列表中添加项目的位置。对于节点更改,索引指向修改节点的位置。- 返回值:
-
一个包含事件指定的子项索引位置的
int
数组
-
toString
返回显示和标识此对象属性的字符串。- 覆盖:
-
toString
在类EventObject
中 - 返回值:
- 此对象的字符串表示形式
-