我有一个包含字段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);
}
}
如何编写这些注释说明?
答案 0 :(得分:3)
使用DefaultMutableTreeNode创建节点
为节点创建ID映射 - 当您从数据库中获取节点时,将它们存储在地图中,并将id作为其键。
获得所有节点后,再次浏览它们并匹配其父ID,从地图中检索它们。
假设您的树在数据库中结构合理,那么它就会发出声音。选择任何节点并跟随父链的根。
使用根对象,您可以创建JTree。 :)