在JDesktopPane中布局图形



我有构建图形的对象。每个对象都是图形的一个节点,由JDesktopPane中的JInternalFrame表示。现在我想要布局框架对应于图形。显示边缘不是我的问题,而是为每个帧(节点)获得适当的位置。

你有什么好的建议吗?我已经尝试用JUNG库构建了一个图,让JUNG计算节点的位置并将它们传输到我的swing组件。但是我对这个解决方案并不满意,因为它的结果有点随机。

br托拜厄斯

我能理解你的痛苦。我也这样做。ie。在我的Java应用程序中,我接受各种输入,并将它们组合起来生成一个图。挑战仍然是在屏幕上输出图形,以便应用程序的用户可以有意义地理解它。我的图表可能非常大。我是这样做的:

1。我使用graphhiz点库来生成我的图形。如果您不熟悉graphhiz,它是一个非常流行的图形布局工具。它本质上与JUNG库做同样的事情。但由于我从未使用过JUNG,所以我不会谈论它。图形点引擎为你计算顶点和边的位置。

2。我已经创建了一个图形编辑器,它可以解析.dot文件(由Graphiz生成的输出文件)中指定的(x,y)坐标并显示在屏幕上。只有解析部分比较棘手,因为编辑器要处理大多数可视化方面(如缩放、拖放边缘和顶点等)。您可以在这里查看编辑器Jgraphx。下载它们的源代码,并查看graphheditor示例。运行该示例并查看。如果你还需要我的帮助,请告诉我。

我认为你已经实现了1,你需要实现2。希望我的回答能有所帮助。

最新更新