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时pathnewValue。 | 
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) 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.