开源库用于设计有向图

7
我需要编写一个程序,以有向图的方式将人员列表连接起来。整个项目的GUI方面非常重要。该图必须允许大量互动,例如选择多个人并隐藏其他人,移动他们等。
此外,该软件还需要能够提供其他类型的GUI功能,例如多个选项卡、文本框等。
该应用程序必须相当高效。也就是说,它必须能够处理数百甚至数千个小部件。
因此,我想知道哪些开源库(目前编程语言并不重要 - 我只想了解所有好的东西)可以让我开发这样的软件?你有什么建议吗?
编辑:您能否链接到教程,说明我如何编写与生成的图形交互的GUI?例如鼠标事件。
5个回答

5

JGraph的WebStart演示应用程序看起来非常不错:http://jgraph.com/jgraph.html不幸的是,它似乎只是商业应用? - dsummersl
2
JGraph/JGraphX不是商业软件,它们采用BSD许可证。你所提到的是mxGraph,它是由同一团队开发的JavaScript库http://www.jgraph.com/mxgraph.html。mxGraph是商业软件。 - jitter

4

谢谢。Graphviz看起来是我需要使用的工具。但是,我更喜欢使用Java或Ruby这样的编程语言来开发我的软件。您能否推荐一个好的教程来展示如何从GUI(例如Tk、GTK、Qt或Swing)中添加鼠标事件,以便在用户单击节点时触发?我自己还没能搞清楚如何做到这一点。感谢您的时间。 - Benjamin

3
根据您的实际目标和需求,您可能考虑查看 processing.org。该网站有许多演示和像许多其他库一样,它是免费的。使用Processing不需要您学习太多。它类似于Java并且是用Java编写的,但允许您忽略Java结构和代码的大部分,只需按照您想要的方式进行操作。
由于您提到您想要使用x或y进行编码,因此听起来您还没有做出语言决策,因此这可能值得您花时间去了解。花15分钟在那里查看演示,看看它是否提供您正在寻找的内容。如果速度是您的一个标准,则可能可以使用此方法。

1
你可能想要查看Dynagraph
编辑:关于Graphviz和Dynagraph的文章可在此阅读。

谢谢。有什么教程或绑定库可以轻松地允许在节点上添加鼠标点击等事件吗? - Benjamin

0

我的第一个想法是 ILOG Views(适用于Java、.Net、C++),现在由IBM拥有,但他们的定价相当高。我的第二个想法可能是yFiles(适用于Java或.NET),也许与yEd(仅限Java)一起使用。

如果这还不够,可以查看this list上的替代方案(排序混乱,一些工具不是开源的,其他一些原因可能不适合您)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接