java - 如何防止节点和边在 GEF-Zest 图中相互重叠?

标签 java eclipse eclipse-plugin eclipse-gef zest

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

最佳答案

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

官方 GEF 存储库中有一个如何将布局委托(delegate)给 Graphviz 点的示例: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 解决你的问题,你需要分享更多的见解 w.r.t.您的数据和代码。最好有一个简短、独立、正确(可编译)的示例 (SSCCE)。

关于java - 如何防止节点和边在 GEF-Zest 图中相互重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49858740/

相关文章:

django - Eclipse/PyDev/Django 导入需要项目名称

maven - AEM Eclipse 插件 - 新项目创建问题

eclipse在jrockit下卸载插件失败

java - Eclipse:自动终止(java)

c - Eclipse 控制台输出不显示是否删除了某些打印

Java双倍运算速度

eclipse - 如何在Eclipse上使用Papyrus生成代码?

android - Eclipse JUNO 无法启动

java - 查询参数值不绑定(bind)到 Spring Pageable

java - ConstraintValidation 不适用于 Rest Api 请求