-
- 所有已知实现类:
-
DefaultTreeModel
public interface TreeModel
该模型使用JTree
。JTree
及其相关类广泛使用的TreePath
S表示在确定节点TreeModel
。 如果TreeModel
返回相同的对象(与equals
相比),则在相同父级下的两个不同索引处,将生成的TreePath
对象也将被视为相等。 一些实现可以假设如果两个TreePath
相等,则它们标识相同的节点。 如果不满足这个条件,可能会导致绘画问题和其他奇怪之处。 换句话说,如果给定父级的getChild
返回相同的对象(由equals
确定)可能会导致问题,建议您避免这样做。类似地,
JTree
及其相关类将TreePath
s放在Map
。 因此,如果请求两次节点,则返回值必须相等(使用equals
方法)并具有相同的hashCode
。有关树模型的更多信息,包括自定义实现的示例,请参阅The Java Tutorial中的 How to Use Trees 。
- 另请参见:
-
TreePath
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
addTreeModelListener(TreeModelListener l)
为树更改后发布的TreeModelEvent
添加一个侦听器。Object
getChild(Object parent, int index)
返回的孩子parent
索引index
父项的子阵列英寸int
getChildCount(Object parent)
返回子项数parent
。int
getIndexOfChild(Object parent, Object child)
返回父级中的子索引。Object
getRoot()
返回树的根。boolean
isLeaf(Object node)
如果node
是叶子,则返回true
。void
removeTreeModelListener(TreeModelListener l)
删除以前使用addTreeModelListener
添加的侦听addTreeModelListener
。void
valueForPathChanged(TreePath path, Object newValue)
当用户将newValue
标识的项目的值更改为path
发送newValue
。
-
-
-
方法详细信息
-
getRoot
Object getRoot()
返回树的根。 仅当树没有节点时才返回null
。- 结果
- 树的根
-
getChild
Object getChild(Object parent, int index)
返回的孩子parent
索引index
父项的子阵列英寸parent
必须是先前从此数据源获取的节点。 如果index
是parent
(即index >= 0 && index < getChildCount(parent
)的有效索引,则不应返回null
。- 参数
-
parent
- 树中的节点,从此数据源获取 -
index
- 要退回的孩子的索引 - 结果
-
parent
的孩子,索引号index
-
getChildCount
int getChildCount(Object parent)
返回子项数parent
。 如果节点是叶子或者没有子节点,则返回0。parent
必须是先前从此数据源获取的节点。- 参数
-
parent
- 树中的节点,从此数据源获取 - 结果
-
节点
parent
的子节parent
-
isLeaf
boolean isLeaf(Object node)
如果node
是一个叶子,则返回true
。 即使node
没有子false
,此方法也可能返回false
。 例如,文件系统中的目录可能不包含任何文件; 表示目录的节点不是叶子,但它也没有子节点。- 参数
-
node
- 树中的节点,从此数据源获取 - 结果
-
如果
node
是叶子,node
true
-
valueForPathChanged
void valueForPathChanged(TreePath path, Object newValue)
当用户将newValue
标识的项目的值更改为path
发送newValue
。 如果newValue
表示真正的新值,则模型应发布treeNodesChanged
事件。- 参数
-
path
- 用户已更改的节点的路径 -
newValue
- TreeCellEditor的新值
-
getIndexOfChild
int getIndexOfChild(Object parent, Object child)
返回父级中的子索引。 如果parent
或child
是null
,则返回-1。 如果parent
或child
不属于此树模型,则返回-1。- 参数
-
parent
- 树中的节点,从此数据源获取 -
child
- 我们感兴趣的节点 - 结果
-
父项
child
的索引,如果child
或parent
是null
-1,或者不属于此树模型
-
addTreeModelListener
void addTreeModelListener(TreeModelListener l)
为树更改后发布的TreeModelEvent
添加侦听器。- 参数
-
l
- 要添加的侦听器 - 另请参见:
-
removeTreeModelListener(javax.swing.event.TreeModelListener)
-
removeTreeModelListener
void removeTreeModelListener(TreeModelListener l)
删除以前使用addTreeModelListener
添加的侦听addTreeModelListener
。- 参数
-
l
- 要删除的侦听器 - 另请参见:
-
addTreeModelListener(javax.swing.event.TreeModelListener)
-
-