如何动态地在Java中绘制(星形)拓扑?

时间:2010-02-23 18:16:50

标签: java user-interface swing topology

我需要在Java GUI应用程序中动态绘制(星形)拓扑。通过星型拓扑,我的意思是这样的:

network topology http://www.thebryantadvantage.com/images/Star%20Topology.jpg

它不需要过于花哨,但我不想太难看和粗暴。动态地表示拓扑随着时间的推移不经常变化,但由于节点的数量非常少,因此完全重绘不会受到伤害。

我google了一段时间,但我找不到任何有用的东西 - 也许我只是用Google搜索错误的关键字。我也在使用JFreeChart,但从我所看到的情况来看,没有包含类似的东西。我的一个朋友建议为Java搜索思维映射库,但我可以找到完整的应用程序,这是一种过度杀伤力。

我无法相信除了形状,线条等之外别无选择?我目前正在使用JTree,但我无法相信没有更好的方法可以做到这一点。

附加信息:我有一小部分(< 10)的根节点和可能少量的叶子(< 10)。它是关于VM< - >服务器映射,因此叶子将随时间改变其父级。实时迁移时的一些“动画”会很酷,但在第一步中不需要。

谢谢,请原谅我错过的任何事情 - 这是我在这里的第一个问题。

4 个答案:

答案 0 :(得分:2)

也许GraphViz会对你有用吗?

编辑:

好的,JGraphT

怎么样?

答案 1 :(得分:1)

我相信JDK中的一个演示是动态图形布局(不是100%肯定,自从我运行它们已经好几年了)。你可能不需要它的动画,但我敢打赌代码相当小,绝对是自包含的。

也许您可以对其进行调整,以便找到布局所需的步骤不会动画;它只显示最终状态。

答案 2 :(得分:1)

这是StarLayout的一个很好的实现。

答案 3 :(得分:1)

NetBeans提供了一个很好的图形库(visual library)。例如。 the maven plugin uses this to draw all the dependencies