如何在Java中显示树层次结构?

时间:2010-01-20 13:02:44

标签: java user-interface swing tree graphic

我在一个名为“Process”的数据库中有一个表

此流程表有3个字段:

  • PROCESS_ID
  • PROCESS_NAME
  • process_parent_id

现在我想以图形格式显示这个父子层次结构。那么请你建议我:

Q1。哪种数据结构更好用于从数据库获取数据并存储在该数据结构中?

Q2。如何以图形格式显示该树(进程层次结构)?


编辑:

我希望图形格式如下:

Tree hierarchy

4 个答案:

答案 0 :(得分:16)

Swing有一个内置控件,用于以名为JTree的树格式显示数据。它还提供了一个名为DefaultTreeModel的数据模型,您可以使用它来存储数据。 This link给出了使用JTree和数据模型的非常好的解释。

[编辑]:

要回答您更新的问题,JGraph可以很好地处理这样的图表,这也可以提供数据模型,该模型似乎与树模型swing提供的工作方式类似。

答案 1 :(得分:5)

正如其他人所建议的,使用JTree是一种可能的解决方案。但是,如果您希望更好地控制树的外观,建议您查看JUNG 图表库。这可能会给你带来很好的效果,但需要更多的工作。

答案 2 :(得分:3)

对于图形格式的层次结构,JTree呢? http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html

答案 3 :(得分:2)

Re Q1:你可以在互联网资源上找到几种树形结构的Java实现,例如this generic tree

Re Q2:另一种选择是using JTree。查看How to use Trees

上的Java Tutorial路径

JGraphT可能是构建类似示例的良好起点。查看http://jgrapht.sourceforge.net/visualizations.html

上的演示