- java.lang.Object
-
- java.util.EventObject
-
- javax.swing.event.TreeModelEvent
-
- 实现的所有接口
-
Serializable
public class TreeModelEvent extends EventObject
封装描述树模型更改的信息,并用于通知树模型侦听器更改。 有关更多信息和示例,请参阅“Java教程”中的 How to Write a Tree Model Listener部分。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 另请参见:
- Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 protected int[]childIndices确定儿童所在位置的指数。protected Object[]children已被移除的儿童。protected TreePathpath已更改的节点的父节点的路径。-
声明的属性在类 java.util.EventObject
source
-
-
构造方法摘要
构造方法 构造器 描述 TreeModelEvent(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对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 int[]getChildIndices()返回子索引的值。Object[]getChildren()返回由getPath指定的位置由getChildIndices标识的节点的子节点的对象。Object[]getPath()从此事件包装的TreePath实例获取对象数组的便捷方法。TreePathgetTreePath()对于除treeStructureChanged之外的所有事件,返回已更改节点的父节点。StringtoString()返回显示和标识此对象属性的字符串。-
声明方法的类 java.util.EventObject
getSource
-
-
-
-
构造方法详细信息
-
TreeModelEvent
public TreeModelEvent(Object source, Object[] path, int[] childIndices, Object[] children)
用于在更改,插入或删除节点时创建事件,将已修改项的父级路径标识为对象数组。 所有修改过的对象都是兄弟姐妹,它们是指定父级的直接后代(而不是孙子)。 发生插入,删除或更改的位置由int的数组指定。 该数组中的索引必须按从低到高的顺序排列。对于更改,模型中的索引与UI中当前显示的项目的索引完全对应。 因此,如果索引不是按照确切的顺序排列,那就不是很重要了。 但是在多次插入或删除之后,UI中当前的项目不再对应于模型中的项目。 因此,为插入和删除正确指定索引至关重要。
对于插入,索引表示插入发生后树的最终状态。 由于必须按顺序指定索引,因此最自然的处理方法是从最低索引开始并朝最高索引开始。 累积一个
Integer对象的Vector,指定插入位置,然后将Vector转换为int的数组以创建事件。 当postition-index等于零时,节点将插入列表的开头。 当位置索引等于列表的大小时,节点被“插入”(附加到)列表的末尾。对于删除,索引表示在删除发生之前树的初始状态。 由于索引必须按顺序指定,因此最自然的处理方法是使用删除计数器。 首先将计数器初始化为零,然后从列表开始从最低到最高。 每次执行删除操作时,将删除计数器的当前值添加到发生删除的索引位置,并使用
addElement()将结果附加到删除位置的addElement()。 然后递增删除计数器。 因此,存储在Vector中的索引位置反映了所有先前删除的效果,因此它们表示每个对象在初始树中的位置。 (您也可以从最高指数开始并向最低点开始工作,在使用insertElementAt(Integer, 0)累积一个删除位置向量。)但是,如果您生成初始位置向量,则需要转换为Integer的向量对象以int的数组来创建事件。笔记:
- 像
insertNodeInto的方法DefaultTreeModel类,insertElementAt附加到Vector当索引的矢量的大小相匹配。 因此,即使向量为空,也可以使用insertElementAt(Integer, 0)。 - 要为根节点创建节点更改事件,请将父索引和子索引指定为
null。
- 参数
-
source- 负责生成事件的对象(通常是事件对象的创建者为其值传递this) -
path- 一个Object数组,用于标识修改项的父级的路径,其中数组的第一个元素是存储在根节点的Object,最后一个元素是存储在父节点的Object -
childIndices-的阵列int指定删除的项目的索引值。 索引必须按照从最低到最高的顺序排列 -
children- 包含已插入,已删除或已更改对象的Object数组 - 另请参见:
-
TreePath
- 像
-
TreeModelEvent
public TreeModelEvent(Object source, TreePath path, int[] childIndices, Object[] children)
用于在更改,插入或删除节点时创建事件,将已修改项的父级路径标识为TreePath对象。 有关如何指定索引和对象的更多信息,请参阅TreeModelEvent(Object,Object[],int[],Object[])。- 参数
-
source- 负责生成事件的对象(通常是事件对象的创建者,其值为this) -
path- 一个TreePath对象,用于标识已修改项的父级的路径 -
childIndices-的阵列int,指定已修改项的索引值 -
children- 包含插入,移除或更改的对象的Object数组 - 另请参见:
-
TreeModelEvent(Object,Object[],int[],Object[])
-
TreeModelEvent
public TreeModelEvent(Object source, Object[] path)
用于在节点结构以某种方式更改时创建事件,将修改后的子树的根路径标识为对象数组。 例如,结构更改事件可能涉及节点交换位置,或者它可能在源自节点的子树中封装多个插入和删除,其中更改可能发生在子树的不同级别。Note:
JTree collapses all nodes under the specified node, so that only its immediate children are visible.- 参数
-
source- 负责生成事件的对象(通常是事件对象的创建者为其值传递this) -
path- 标识修改子树根的路径的Object数组,其中数组的第一个元素是存储在根节点的对象,最后一个元素是存储在已更改节点的对象 - 另请参见:
-
TreePath
-
TreeModelEvent
public TreeModelEvent(Object source, TreePath path)
用于在节点结构以某种方式更改时创建事件,将修改后的子树的根路径标识为TreePath对象。 有关此事件规范的更多信息,请参阅TreeModelEvent(Object,Object[])。- 参数
-
source- 负责生成事件的对象(通常是事件对象的创建者为其值传递this) -
path- 一个TreePath对象,用于标识更改的路径。 在DefaultTreeModel中,此对象包含一个用户数据对象数组,但TreePath的子类可以使用一些完全不同的机制 - 例如,节点ID号 - 另请参见:
-
TreeModelEvent(Object,Object[])
-
-
方法详细信息
-
getTreePath
public TreePath getTreePath()
对于除treeStructureChanged之外的所有事件,返回已更改节点的父节点。 对于treeStructureChanged事件,返回已更改的结构的祖先。 这和getChildIndices用于获取受影响节点的列表。一个例外是用于标识根的treeNodesChanged事件,在这种情况下,这将返回根,
getChildIndices将返回null。- 结果
- 用于标识已更改节点的TreePath。
- 另请参见:
-
TreePath.getLastPathComponent()
-
getPath
public Object[] getPath()
从此事件包装的TreePath实例获取对象数组的便捷方法。- 结果
- 一个对象数组,其中第一个对象是存储在根目录中的对象,最后一个对象是存储在由路径标识的节点处的对象
-
getChildren
public Object[] getChildren()
返回由getPath指定的位置由getChildIndices标识的节点的子节点的对象。 如果这是删除事件,则返回的对象不再是父节点的子节点。- 结果
- 包含事件指定的子项的Object数组
- 另请参见:
-
getPath(),getChildIndices()
-
getChildIndices
public int[] getChildIndices()
返回子索引的值。 如果这是删除事件,则索引将指向初始列表中删除项目的位置。 如果是插入,则索引指向最终列表中添加项目的位置。 对于节点更改,索引指向已修改节点的位置。- 结果
-
int的数组,包含事件指定的子int的索引位置
-
toString
public String toString()
返回显示和标识此对象属性的字符串。- 重写:
-
toString类EventObject - 结果
- 此对象的String表示形式
-
-