如何在Java中显示树层次结构?
我在一个名为“Process”的数据库中有一个表
此流程表有3个字段:
- PROCESS_ID
- PROCESS_NAME
- process_parent_id
现在我想以图形格式显示这个父子层次结构。 那么请你建议我:
Q1。 哪种数据结构更好用于从数据库获取数据并存储在该数据结构中?
Q2。 如何以图形格式显示该树(进程层次结构)?
编辑:
我想要这样的图形格式:
Swing有一个内置的控件,用于以名为JTree
的Tree格式显示数据。 它还提供了一个名为DefaultTreeModel
的数据模型,您可以使用它来存储数据。 此链接提供了使用JTree
和数据模型的非常好的解释。
[编辑]:
为了回答你更新的问题, JGraph
可以很好地处理这样的图形,它也可以提供类似于树模型swing提供的数据模型。
正如其他人所建议的,使用JTree
是一种可能的解决方案。 但是,如果您希望更好地控制树的外观,我建议您查看JUNG 图形库 。 这可能会给您带来很好的结果,但需要更多的工作。
对于图形格式的层次结构,JTree呢? http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html
Re Q1:您可以在Internet资源上找到Tree结构的几个Java实现,例如这个通用树 。
Re Q2:一种替代方案是使用JTree 。 查看有关如何使用树的Java Tutorial跟踪
JGraphT可以成为构建类似示例的良好起点。 查看http://jgrapht.sourceforge.net/visualizations.html上的演示