【问题标题】:port JUNG into GWT [closed]将 JUNG 移植到 GWT [关闭]
【发布时间】:2011-03-11 22:48:15
【问题描述】:

有一个很好的java图形库JUNG

我想知道是否有任何 GWT 库可以做 JUNG 的工作?我知道存在一个商业 Javascript 图形库mxGraph。但是mxGraph 非常昂贵,并且有非常严格的许可政策。

有没有人知道任何类似于 mxGraph (JS) 或 JUNG(java) 的 GWT 图形库?

如果没有像 JUNG 这样的用于绘图的 GWT 库,我热衷于将 JUNG 移植到 GWT。我正在考虑使用 gwt-graphics 库作为基础,并使用更多类似 JUNG 的功能对其进行扩展。 将 JUNG 移植到 GWT 的好策略是什么?我应该将大多数 JUNG java 类重写为客户端 GWT 类吗?有没有办法将 JUNG 类包装在一些客户端 GWT 类中?我猜 b/c JUNG 使用 java swing 框架,移植需要将大多数 UI JUNG 类(基于 Swing)迁移到基于 GWT 的小部件中。

关于这个主题有什么想法或建议吗?

最好的。

【问题讨论】:

    标签: java gwt graphing jung


    【解决方案1】:

    当然,您必须先查看 JUNG 的许可政策。这可能已经限制了一些选择。 IIRC,许可证是 Apcahe 2.0。

    正如您所提到的,您必须重新实现绘图。为此,有几个选项:GWTCanvas、GWT Graphics 和 g2d,可能还有我忘记的其他选项。

    另外,要充分利用 GWT 方法,不能依赖太多外部项目,这会有点困难。

    基于所有这些,我会选择只使用其中一些类并将它们一一移植到 GWT。也许从图形布局算法开始。

    【讨论】:

    • 感谢您的帮助。我可以问一下 Apache 许可证的限制是什么吗?我对所有的许可政策都不是很熟悉。但我猜 JUNG 会允许将其源代码移植到 GWT 吗?
    • @othman: JUNG 是 BSD 许可的,请参阅 sourceforge.net/projects/jung 所以许可应该不是问题(BSD 和 Apache 许可都有很少的限制 - 但请自己阅读,它们相对较短.)
    • 谢谢克里斯。我阅读了 Apache 和 BSD 许可证。他们看起来不错。我找不到使用他们的源代码的任何限制(即使您打算在商业产品中发布您的新代码)。
    • 我不熟悉 BSD 许可证细节,但如果你正在考虑开源你的工作,应该没有问题。这可能会成为一个流行的操作系统项目本身。
    • 谢谢 eeq。我希望我能尽快开始这个项目。是的,我打算让它成为操作系统。希望尽快在谷歌代码项目上打开一个项目。如果您有兴趣参与这项工作,欢迎您加入。最佳
    【解决方案2】:

    看看这个类似的question。

    如果有一个用于 JUNG 的 GWT 表示层,那就太好了。我们一直采用的方法是使用RaphaelGWT(RaphaelJS 的包装器)进行绘图,使用 JUNG 进行服务器端的布局。我们试图将 JUNG 移植到客户端(所有内容都被翻译成 Javascript),但是依赖并发库和 JRE 的一部分使得这不可行。

    在服务器端,我们抓取数据并使用节点和连接图创建我们自己的图形对象 (GEGraph)。然后我们将所有这些放入 JUNG 图中并在其上调用 layout,检索每个节点的 x 和 y 坐标并将其放入 GEGraph。然后将 GEGraph 发送到客户端并使用 Raphael 进行绘制。

    【讨论】:

    • 谢谢,这看起来很有趣。你发布了这个库吗?如果您的代码是开源的,我想看看它。谢谢
    • 你好。我们还没有决定是否开源我们的代码。将不得不与业务人员交谈(我戴着不同的帽子)。
    • good @dabeats - 我祝你在项目中好运。我希望我能成为项目开发团队的一员,但由于它是一个闭源系统,所以这是不可能的。反正祝你好运。谢谢。
    • @debeats,我可以问你一个问题吗?除了 Java 和 GWT,在处理 JUNG 端口之前还应该阅读哪些主题和技术?你是怎么学习JUNG系统的?通过阅读文档或阅读实际代码?您能否就如何为 JUNG 移植到 GWT 的潜在项目做好准备提供建议? -谢谢
    • @othman,我在这里阅读了[教程] (grotto-networking.com/JUNG/JUNG2-Tutorial.pdf)。从那里,我们查看了 API (jung.sourceforge.net/doc/api/index.html) 以尝试更好地了解事物。另请查看 JUNG 邮件列表以澄清问题。我建议将 RaphaelGWT 用于前端。除此之外,一切都应该是 Java、JUNG 和 GWT。确保您知道哪些功能最重要。移植整个 JUNG 将非常困难且耗时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2012-03-09
    • 1970-01-01
    相关资源
    最近更新 更多