从数据库填充JTree

Dee*_*pak 5 java mysql swing jtree

我有一个包含字段category_id,category_name和parent_category_id的表.parent_category_id具有来自category_id的值,表示父子关系.我没有任何固定级别的层次结构,它可能达到5级或10级并且没有限制.我需要一个代码来实现这个JTree以使事情对我有用.我也应该能够为菜单栏实现相同的功能..请帮我这个..

谷歌搜索后我发现了这个,

Map<String, Node> idToNode = new HashMap<String, Node>();   

//create nodes from ResultSet   
while ( resultSet.next() ){       
    Node node = //create node -contains info, parent id, and its own id from ResultSet
    //put node into idToNode, keyed with its id   
}   

//link together   
Iterator<String> it = idToNode.keySet().iterator();   
Node root = null;   
while ( it.hasNext() ){          
    Node node = idToNode.get(it.next());       
    Node parent = idToNode.get(node.getParentId());   
    if ( parent == null ) {  
        root = node;  
    }else{  
       parent.addChild(node);  
    }  
}
Run Code Online (Sandbox Code Playgroud)

我如何编写这些注释说明?

cor*_*iKa 3

使用DefaultMutableTreeNode创建节点

制作 ID 到节点的映射 - 当您从数据库获取节点时,将它们存储在映射中,并以 id 作为键。

拥有所有节点后,再次遍历它们并匹配它们的父 ID,从地图中检索它们。

假设您的树在数据库中结构健全,那么它在这里也将是健全的。选择任意节点并跟随父链到根。

使用根对象,您可以创建 JTree。:)

  • “我实际上没有时间编写这个东西。” ——太珍贵了! (3认同)