Java me 在lwuit中为树状视图动态创建节点

Java me 在lwuit中为树状视图动态创建节点,java-me,lwuit,treemodel,Java Me,Lwuit,Treemodel,我想创建一个动态节点,上面是静态节点的示例代码 plz帮助查看UIDemo应用程序中的类。这里动态地从文件根中检索值,并将该值添加到向量中。请参见TreeDemo类中的FileTreeModel内部类。您可以按照同样的方法添加动态值 这可能有助于- TreeModel model = new TreeModel() { Node[] sillyTree = { new Node("X", new Node[] { new Node("Child

我想创建一个动态节点,上面是静态节点的示例代码 plz帮助

查看UIDemo应用程序中的类。这里动态地从文件根中检索值,并将该值添加到向量中。请参见TreeDemo类中的FileTreeModel内部类。您可以按照同样的方法添加动态值

这可能有助于-

TreeModel model = new TreeModel() {

    Node[] sillyTree =  {

        new Node("X", new Node[] {
           new Node("Child 1", new Node[] {
           }),
           new Node("Child 2", new Node[] {
           }),
           new Node("Child 3", new Node[] {
           }),
       }),
       new Node("Y", new Node[] {
           new Node("A", new Node[] {
           })
       }),
       new Node("Z", new Node[] {
           new Node("A", new Node[] {
           }),
       }),
    };
及-

class Node {
    Vector children;
    String value;   // Name of the node….

    public Node(String value, Vector children) {
        this.children = children;
        this.value = value;
    }

    public String toString() {
        return value;
    }
}
Node[]noderray=generateRootNode();
TreeModel模型=新的TreeModel(){
节点[]sillyTree=nodeArray;
公共向量getChildren(对象父对象){
节点n=(节点)父节点;
Object[]节点=null;
向量v=新向量();
如果(父项==null){
节点=sillyTree;
}否则{
v=n.儿童;
}
如果(节点!=null){
对于(int-iter=0;iter
。我尝试使用这个示例,但无法运行,我只得到了空指针异常检查出Lwuit repos并查看UIDemo应用程序。回购链接,
  Node[] nodeArray = generateRootNode(); 

  TreeModel model = new TreeModel() {

  Node[] sillyTree = nodeArray;

                public Vector getChildren(Object parent) {
                    Node n = (Node) parent;
                    Object[] nodes = null;
                    Vector v = new Vector();
                    if (parent == null) {
                        nodes = sillyTree;
                    } else {
                        v = n.children;
                    }
                    if (nodes != null) {
                        for (int iter = 0; iter < nodes.length; iter++) {
                            v.addElement(nodes[iter]);
                        }
                    }
                    return v;
                }

                public boolean isLeaf(Object node) {
                    boolean returnValue = false;
                    try {
                        Node n = (Node) node;
                        returnValue = n.children == null || n.children.size() == 0;
                    } catch (ClassCastException ex) {
                        // It means its a child node or a leaf...
                            returnValue = true;
                    }
                    return returnValue;
                }
            };