如果我不知道jTree的深度是什么,我可以采用什么逻辑来构建JTree。我的数据库中有一个类别表,包含父类别和子级内的子项,依此类推。我想用这些数据构建JTree。你能告诉我一些如何做到这一点的想法吗?以下是我的数据库结构
答案 0 :(得分:2)
实现您自己的TreeNode
,在打开节点时(即第一次调用children()
或getChildCount()
时,会临时填充其子节点列表(通过数据库查询)而不是提前构建DefaultMutableTreeNode
树。
另请参阅有关此主题的Java tuorial。 如何加载儿童懒惰部分显示了使用TreeWillExpandListener
和详细主题here
答案 1 :(得分:2)
调用JTree.addTreeExpansionListener
允许您添加一个TreeExpansionListener,当调用其中一个方法时,它会提供一个名为TreeExpansionEvent
的事件。在该事件上调用getPath
将告诉您自己的位置。
什么是人造节点?只是一个实现TreeNode的类,它在某种程度上与普通的TreeNode不同,你可以很容易地确定它是什么。