【问题标题】:Dynamically create node in lwuit for tree view在 lwuit 中为树视图动态创建节点
【发布时间】:2011-02-03 12:02:48
【问题描述】:
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[] {
           }),
       }),
    };

我想以动态方式创建一个节点,在静态示例代码上方 请帮忙

【问题讨论】:

标签: java-me lwuit treemodel


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这可能会有所帮助 -

    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[] 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;
                    }
                };
    

    【讨论】:

      猜你喜欢
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多