【问题标题】:How to prevent the Nodes and Edges from overlapping each other in GEF-Zest graph?如何防止 GEF-Zest 图中的节点和边相互重叠?
【发布时间】:2018-09-26 06:39:42
【问题描述】:

我开发了一个使用GEF-Zest 生成图形的eclipse 插件。我使用SpringLayoutAlgorithm 作为布局算法(我也尝试过其他布局),但节点和边仍然相互重叠,从而创建了一个嘈杂的图形。我需要帮助来解决这个问题。

【问题讨论】:

  • 您使用的是哪个版本的 GEF / Zest?你能分享你的代码吗?你试过什么?
  • @Matthias 我正在使用 GEF 5.0。关于代码,我扩展了 Zest 附带的 ZestFxUiView 视图类,因此我只需将我的图表提供给 ZestFxUiView 的公共方法,即 setGraph

标签: java eclipse eclipse-plugin eclipse-gef zest


【解决方案1】:

您可以查看 Eclipse Layout Kernel (ELK),它们确实提供了复杂的布局算法。此外,您可以查看 Graphviz。两者都可以作为布局引擎与 GEF Zest 集成。但是,您需要实现 GraphvizLayoutAlgorithm(委托给 Graphviz)或 ElkLayoutAlgorithm(委托给 ELK)。

在官方 GEF 存储库中有一个如何将布局委托给 Graphviz dot 的示例:https://github.com/eclipse/gef/blob/master/org.eclipse.gef.dot.examples/src/org/eclipse/gef/dot/examples/DotLayoutExample.java

除此之外,SpringLayoutAlgorithm 不应将节点置于彼此之上,如运行示例时所示:https://github.com/eclipse/gef/blob/master/org.eclipse.gef.layout.examples/src/org/eclipse/gef/layout/examples/SpringLayoutExample.java

如果您想解决 SpringLayoutAlgorithm 的问题,您需要分享更多关于 SpringLayoutAlgorithm 的见解。你的数据和代码。最好有一个简短、独立、正确(可编译)的示例 (SSCCE)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 2018-02-12
    • 2019-06-05
    相关资源
    最近更新 更多