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