-1

我试图在java中解析一个XML文件,之后我必须使用这样的Jframe将它表示为一棵树在此处输入图像描述

4

4 回答 4

2

树通常是这样布局的更容易链接的结构之一,因为路径通常不会“合并”或“交叉”。

您可以通过“从左到右”遍历树以大致表格的方式接近它:从根开始,并在该区域的左上角绘制其表示。然后,一次遍历它的“左”分支一层,在与根相同的“列”中连续较低的“行”上绘制这些节点的表示。然后,当您移动到“右侧”节点时,在同一级别右侧可用的下一个“列”中绘制该节点。这将生成树结构的斜坡形图。

您可以添加对每个级别的级别和节点数的一些预分析,这将允许您通过了解图形所需的最大级别数和节点数将树“居中”成一个粗略的金字塔形状该图的每个级别。但是,这需要在开始绘制任何东西之前遍历整个图形。

至于“安排”一棵树的节点,使其适合最小的区域而没有箭头交叉或重叠,这是一个范围远远超过平均 SO 答案的问题。

于 2012-04-04T17:53:56.083 回答
1

有很多很好的图形可视化库。

这是一个非常广泛的选项列表:http ://s6ai.livejournal.com/33969.html

于 2012-04-04T17:42:25.420 回答
0

Prefuse可能会创造出一些美学上相似的东西。当然,您可以走原始路线并手动绘制图形。对于 XML 到图形的转换,TreeMLReader API 可能有些用处,但是您可能必须先使用 XSLT 将 XML 转换为 TreeML 格式。

于 2012-04-04T17:48:21.660 回答
0

我们使用标准格式打印图像 http://www.java-forums.org/awt-swing/6763-how-display-image.html

于 2012-04-04T17:52:06.803 回答