以代号为一个获取树的选定索引

时间:2015-03-05 06:19:40

标签: java tree codenameone

我使用TreeModel使用数据库值动态填充树。有没有办法用它的身份填充和映射项目..

是否有任何方法可以获取树的父级和子级的选定索引值。当我尝试

时,我可以单独用文本填充树
String[][]  arr = new String[][] {sBuilding.toArray(new String[sBuilding.size()]), sFloor.toArray(new String[sFloor.size()])};

            model = new TreeModel() {

                public Vector getChildren(Object parent) {

                    if (parent == null) {
                        MainParent = parent;
                        Vector v = new Vector();
                        for (int iter = 0; iter < arr[0].length; iter++) {
                            v.addElement(arr[0][iter]);
                        }
                        return v;
                    }

                    Vector v = new Vector();
                    for (int iter = 0; iter < arr[0].length; iter++) {
                        if (parent == arr[0][iter]) {
                            if (arr.length > iter + 1 && arr[iter + 1] != null) {
                                for (int i = 0; i < arr[iter + 1].length; i++) {
                                    v.addElement(arr[iter + 1][i]);
                                }
                            }
                        }
                    }
                    return v;

2 个答案:

答案 0 :(得分:0)

树没有索引,它有一个路径。字符串树对于演示目的非常有用,但对于现实生活而言并非如此,在现实生活中,您期望使用FileTreeModel之类的东西,映射到本质上是分层的数据。

因此,您确实需要所选的值而不是所选的索引,并且可以通过树轻松访问。

答案 1 :(得分:0)

使用函数Tree#addLeafListener(com.codename1.ui.events.ActionListener)可能对您有用,这样您就可以知道何时单击某个元素并获取其路径。如果你想要更复杂的属性,你可以自己制作地图。