java - 在 JUNG 中滚动时如何移动图形边缘

标签 java scroll jung jung2

我使用 JUNG 2.0 直观地渲染有向无环图,并添加了自定义 EdgeRenderer 来以各种颜色渲染边缘。实际的边缘是通过调用 RenderContext 对象上的 drawLine()drawPolyline() 方法来绘制的。

一切都按预期进行,除了当我手动滚动添加了 VisualizationViewer 对象的 GraphZoomScrollPane 时:然后顶点按预期滚动,但边缘线保持不变恰好在屏幕上的同一位置。也就是说:

This is correct

This is what happens when I scroll

如何让边缘真正滚动?

(如果有帮助的话,使用 CrossoverScalingControl 进行缩放效果非常好,并且边缘在正确的位置变大变小。)

最佳答案

听起来您正在错误的坐标空间中绘制边缘。有两种坐标系:布局坐标和渲染坐标。您需要确保在正确的上下文中使用正确的坐标系(特别是,您对顶点使用与边缘相同的坐标系)。

如果您可以在问题中提供更多有关如何实际调用draw*Line()的上下文,以及它与JUNG的做法有何不同,那么可能会更容易准确地确定您需要什么修复。

关于java - 在 JUNG 中滚动时如何移动图形边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42634395/

相关文章:

java - 如何使用荣格的埃德蒙兹卡普获得每个边缘的流量?

java - JUNG 将 VisualizationViewer 中的可编辑图形导出为图像

java - java 文件中出现意外的日志 json

java - ClassNotFound 专家 war

javascript - Jquery跟随滚动

android - 在三星 Android 上禁用 ListView 过度滚动

java - 如何使用 JUNG 对顶点和边进行着色和造型

java - 如何使用该列中数值的平均值更新特定列的空单元格? (Mysql使用java)

java - 计算写入 tomcat HttpServletResponse 的实际字节数

Android WebView 获取内容高度()不返回正确的值