我有一个如下所示的TreeView:
-Parent1
- - Child1
- - Child2
- - - Subchild1
-Parent2
- - Child99
是否有方法或简单的方法来获取树中TreeItem
的层次索引?
例如:
Parent1 的分层索引为0 。
Child1 的分层索引为1 。
Subchild1 的分层索引为2 。
Parent2 的分层索引为0 。
Child99 的分层索引为1 。
答案 0 :(得分:0)
唯一要考虑的是使用Java Reflect API,getSuperclass()方法,正如Java doc所说:http://da2i.univ-lille1.fr/doc/tutorial-java/reflect/class/getSuperclass.html
请参阅以下示例:
public class Subclass{
public static void main(String[] args) {
Map map = new HashMap();
Map map2 = new HashMap();
printSuperclasses(map);
printSuperclasses(map2);
}
static void printSuperclasses(Object o) {
Class subclass = o.getClass();
Class superclass = subclass.getSuperclass();
int i=0;
while (superclass != null) {
String className = superclass.getName();
i++;
System.out.println(className+" "+i);
subclass = superclass;
superclass = subclass.getSuperclass();
}
}
}
此示例提供的输出是:
java.util.AbstractMap 1
java.lang.Object 2
java.util.AbstractMap 1
java.lang.Object 2
这意味着在层次结构中,Map对象的父级是AbstractMap(索引1),而AbstractMap的父级是Object(索引2)。