|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.tree.DefaultTreeModel
public class DefaultTreeModel
使用 TreeNodes 的简单树数据模型。有关使用 DefaultTreeModel 的更多信息和示例,请参阅 The Java Tutorial 中的 How to Use Trees。
警告:此类的序列化对象将与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
字段摘要 | |
---|---|
protected boolean |
asksAllowsChildren
确定 isLeaf 方法如何判断一个节点是否为叶节点。 |
protected EventListenerList |
listenerList
侦听器。 |
protected TreeNode |
root
树的根。 |
构造方法摘要 | |
---|---|
DefaultTreeModel(TreeNode root)
创建其中任何节点都可以有子节点的树。 |
|
DefaultTreeModel(TreeNode root,
boolean asksAllowsChildren)
创建一棵树,指定某个节点是否可以有子节点,或者是否仅某些节点可以有子节点。 |
方法摘要 | ||
---|---|---|
void |
addTreeModelListener(TreeModelListener l)
为树更改后发布的 TreeModelEvent 添加侦听器。 |
|
boolean |
asksAllowsChildren()
告知如何确定叶节点。 |
|
protected void |
fireTreeNodesChanged(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件类型的通知的已注册侦听器。 |
|
protected void |
fireTreeNodesInserted(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件类型的通知的已注册侦听器。 |
|
protected void |
fireTreeNodesRemoved(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件类型的通知的已注册侦听器。 |
|
protected void |
fireTreeStructureChanged(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件类型的通知的已注册侦听器。 |
|
Object |
getChild(Object parent,
int index)
返回父节点的子节点数组中索引 index 处的 parent 的子节点。 |
|
int |
getChildCount(Object parent)
返回 parent 的子节点数。 |
|
int |
getIndexOfChild(Object parent,
Object child)
返回父节点中子节点的索引。 |
|
|
getListeners(Class<T> listenerType)
返回当前已在此模型上注册为 FooListener 的所有对象组成的数组。 |
|
TreeNode[] |
getPathToRoot(TreeNode aNode)
向上构建节点的父节点一直到根节点(包括根节点),其中原始节点是返回数组中的最后一个元素。 |
|
protected TreeNode[] |
getPathToRoot(TreeNode aNode,
int depth)
向上构建节点的父节点一直到根节点(包括根节点),其中原始节点是返回数组中的最后一个元素。 |
|
Object |
getRoot()
返回树的根。 |
|
TreeModelListener[] |
getTreeModelListeners()
返回在此模型上注册的所有树模型侦听器组成的数组。 |
|
void |
insertNodeInto(MutableTreeNode newChild,
MutableTreeNode parent,
int index)
对它进行调用,以便在父节点的子节点中的 index 位置插入 newChild。 |
|
boolean |
isLeaf(Object node)
返回指定的节点是否为叶节点。 |
|
void |
nodeChanged(TreeNode node)
更改节点在树中的表示方式之后,调用此方法。 |
|
void |
nodesChanged(TreeNode node,
int[] childIndices)
更改由 childIndicies 标识的子对象在树中的表示方式之后,调用此方法。 |
|
void |
nodeStructureChanged(TreeNode node)
如果完全更改了节点的子节点、子节点的子节点、依此类推,则调用此方法。 |
|
void |
nodesWereInserted(TreeNode node,
int[] childIndices)
将某些 TreeNodes 插入节点之后,调用此方法。 |
|
void |
nodesWereRemoved(TreeNode node,
int[] childIndices,
Object[] removedChildren)
从节点移除一些 TreeNodes 之后,调用此方法。 |
|
void |
reload()
如果已修改此模型依赖的 TreeNode ,则调用此方法。 |
|
void |
reload(TreeNode node)
如果已修改此模型依赖的 TreeNode ,则调用此方法。 |
|
void |
removeNodeFromParent(MutableTreeNode node)
通知它从其父节点中移除节点。 |
|
void |
removeTreeModelListener(TreeModelListener l)
移除以前使用 addTreeModelListener() 添加的侦听器。 |
|
void |
setAsksAllowsChildren(boolean newValue)
通过向 TreeNodes 询问 getAllowsChildren() 或 isLeaf(),设置是否测试无叶性。 |
|
void |
setRoot(TreeNode root)
将根设置为 root 。 |
|
void |
valueForPathChanged(TreePath path,
Object newValue)
此方法设置由路径标识的 TreeNode 的用户对象,并发送更改的节点。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected TreeNode root
protected EventListenerList listenerList
protected boolean asksAllowsChildren
isLeaf
方法如何判断一个节点是否为叶节点。如果为 true,并且节点不允许有子节点,则该节点是叶节点。(如果它允许有子节点,则它不是叶节点,即使不存在任何子节点也是这样。)例如,让您区分文件系统中的文件夹 节点和文件 节点。
如果此值为 false,则没有子节点的任何节点都是叶节点,并且任何节点都可以获取子节点。
TreeNode.getAllowsChildren()
,
TreeModel.isLeaf(java.lang.Object)
,
setAsksAllowsChildren(boolean)
构造方法详细信息 |
---|
public DefaultTreeModel(TreeNode root)
root
- 作为树的根的 TreeNode 对象DefaultTreeModel(TreeNode, boolean)
public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
root
- 作为树的根的 TreeNode 对象asksAllowsChildren
- 一个布尔值,如果任何节点都可以有子节点,则为 false,如果询问每个节点看是否有子节点,则为 trueasksAllowsChildren
方法详细信息 |
---|
public void setAsksAllowsChildren(boolean newValue)
public boolean asksAllowsChildren()
asksAllowsChildren
public void setRoot(TreeNode root)
root
。root
为 null 暗示树不显示任何内容,并且是合法的。
public Object getRoot()
TreeModel
中的 getRoot
public int getIndexOfChild(Object parent, Object child)
null
,则返回 -1。
TreeModel
中的 getIndexOfChild
parent
- 从此数据源获取的树中的节点child
- 用户需要的节点
null
,则返回 -1public Object getChild(Object parent, int index)
TreeModel
中的 getChild
parent
- 从此数据源获取的树中的节点
public int getChildCount(Object parent)
TreeModel
中的 getChildCount
parent
- 从此数据源获取的树中的节点
public boolean isLeaf(Object node)
askAllowsChildren
设置。
TreeModel
中的 isLeaf
node
- 要检查的节点
asksAllowsChildren
,
TreeModel.isLeaf(java.lang.Object)
public void reload()
TreeNode
,则调用此方法。该模型将通知其所有侦听器该模型已更改。
public void valueForPathChanged(TreePath path, Object newValue)
TreeModel
中的 valueForPathChanged
path
- 用户已更改的节点的路径newValue
- TreeCellEditor 的新值public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
public void removeNodeFromParent(MutableTreeNode node)
public void nodeChanged(TreeNode node)
public void reload(TreeNode node)
TreeNode
,则调用此方法。该模型将通知其所有侦听器给定节点下面的模型已更改。
node
- 其下面的模型已更改的节点public void nodesWereInserted(TreeNode node, int[] childIndices)
public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
public void nodesChanged(TreeNode node, int[] childIndices)
public void nodeStructureChanged(TreeNode node)
public TreeNode[] getPathToRoot(TreeNode aNode)
aNode
- 获取其路径的 TreeNodeprotected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
aNode
- 要获取其路径的 TreeNodedepth
- 提供对根(通过递归调用)执行的步骤数的 int,用于确定返回的数组的大小
public void addTreeModelListener(TreeModelListener l)
TreeModel
中的 addTreeModelListener
l
- 要添加的侦听器removeTreeModelListener(javax.swing.event.TreeModelListener)
public void removeTreeModelListener(TreeModelListener l)
TreeModel
中的 removeTreeModelListener
l
- 要移除的侦听器addTreeModelListener(javax.swing.event.TreeModelListener)
public TreeModelListener[] getTreeModelListeners()
TreeModelListener
,如果当前没有注册任何树模型侦听器,则返回一个空数组addTreeModelListener(javax.swing.event.TreeModelListener)
,
removeTreeModelListener(javax.swing.event.TreeModelListener)
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 更改的节点path
- 到根节点的路径childIndices
- 更改的元素的索引children
- 更改的元素EventListenerList
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 插入新元素的节点path
- 到根节点的路径childIndices
- 新元素的索引children
- 新元素EventListenerList
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 移除元素的节点path
- 到根节点的路径childIndices
- 移除元素的索引children
- 移除的元素EventListenerList
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 从该节点开始树模型已更改的节点path
- 到根节点的路径childIndices
- 受影响的元素的索引children
- 受影响的元素EventListenerList
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener
的所有对象组成的数组。FooListener
是用 addFooListener
方法注册的。
可以使用 class 字面值来指定 listenerType
参数,如 FooListener.class
。例如,可以使用下面的代码查询 DefaultTreeModel
m
的树模型侦听器:
TreeModelListener[] tmls = (TreeModelListener[])(m.getListeners(TreeModelListener.class));如果不存在这样的侦听器,则此方法将返回一个空数组。
listenerType
- 所请求侦听器的类型;该参数应该指定一个从 java.util.EventListener
继承的接口
FooListener
的所有对象的数组,如果没有添加这样的侦听器,则返回一个空数组
ClassCastException
- 如果 listenerType
没有指定实现 java.util.EventListener
的类或接口getTreeModelListeners()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。