有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaTreeView(TreeItem)是否可以获取层次结构索引?

我有一个树状视图,看起来像这样:

-Parent1
- - Child1
- - Child2
- - - Subchild1
-Parent2
- - Child99

有没有一种方法或简单的方法来获取树中TreeItem的层次索引

例如:

Parent1的层次索引为0

Child1的层次索引为1

Subchild1的分级索引为2

Parent2的层次索引为0

Child99的分级索引为1


共 (1) 个答案

  1. # 1 楼答案

    唯一需要考虑的是使用Java反射API,getSuperclass()方法,正如Java文档所说: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();
            }
         }
    }
    

    此示例提供的输出为:

    爪哇。util。抽象地图1

    爪哇。lang.对象2

    爪哇。util。抽象地图1

    爪哇。lang.对象2

    这意味着在层次结构中,Map对象的父对象是AbstractMap(索引1),AbstractMap的父对象是object(索引2)