如何在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上的演示