Как заполнить многоуровневое дерево jtree из таблицы базы данных
у меня есть таблица базы данных, подобная следующей. Я хочу сделать динамическое jtree из таблицы.
id имя родитель
1 Цвет нулевой
2 красный 1
3 белый 1
4 зеленый 1
5 темный 4
6 свет 4
Что я уже пробовал:
Для извлечения таблицы из базы данных я уже написал следующий код.
while( rs.next() ) { String parentId = rs.getString("node_Id"); String parentName = rs.getString("node_Name"); String paren = rs.getString("node_Parent"); int treeLvl = rs.getInt("node_Level"); // the above code is working perfectly fine, the problem start from here Map<String, DefaultMutableTreeNode> parentsMap = new HashMap<>(); DefaultTreeModel tbl = (DefaultTreeModel) TreePro.getModel(); DefaultMutableTreeNode root = (DefaultMutableTreeNode)tbl.getRoot(); DefaultMutableTreeNode Root = parentsMap.get(paren); Root = new DefaultMutableTreeNode( paren ); parentsMap.put(parentId, Root ); root.add(Root); DefaultMutableTreeNode parent = parentsMap.get(parentName); parent = new DefaultMutableTreeNode( parentName ); parentsMap.put(parentId, parent ); Root.add(parent); }
Теперь он создает jtree вот так
Корень
Нулевой
-цвет
цвет
-красный
цвет
-белый
цвет
-зеленый
зеленый
-темный
зеленый
-свет
Очевидно, что это неправильно, как я могу правильно сделать jtree из таблицы базы данных. Теперь я надеюсь, что правильно сформулировал свой вопрос