从数据库制作 JTree

Make JTree from database

我有一个包含两列的数据库 parentchild
它有以下数据

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 是否已经创建?

我找到了这个解决方案,它可能是一个错误的方法,但它有效。所以我为每一行调用了 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 时,这是输出,我用它来制作 JTree

sara : [danny , benny]
dia : [tom]
aria : [jenny, sunny]