我有一个包含两列parent
和child
的数据库
它有以下数据
parent | child
===================
sara | danny
sara | benny
dia | tom
aria | jenny
aria | sunny
我想在JTree
这样显示
-parent
*sara
+danny
+benny
*dia
+tom
*aria
+jenny
+sunny
来自ResultSet
我正在获取每一行..但是如何只创建一次DefaultMutableTreeNode
并在单while
循环中添加子项?如何检查node
是否已经制作好?
答案 0 :(得分:0)
我找到了这个解决方案,这可能是一个错误的方法,但它有效。所以我为每一行调用newRow
函数。
TreeMap group = new TreeMap();
void newRow(String Parent,String Child) {
if(group.containsKey(Parent)) {
//if Parent already in group return Arraylist of child
ArrayList<String> al = (ArrayList<String>) group.get(Parent);
//Add new Child to ArrayList
al.add(Child);
}
else {
ArrayList<String> al = new ArrayList<>();
al.add(Child);
//if new Parent add parent and its Child ArrayList
group.put(groupname,al);
}
}
当我遍历TreeMap group
时,这就是outPut,我用它来制作JTree
sara : [danny , benny]
dia : [tom]
aria : [jenny, sunny]