java - JUNG Layout 的首选尺寸,基于图形的尺寸

标签 java jung graph-visualization

我使用的是 JUNG 框架和 FRLayout。像这样:

layout = new FRLayout<String, Number>(graph);
preferredSize = new Dimension(600, 600);

final VisualizationModel<String, Number> visualizationModel = 
new DefaultVisualizationModel<String, Number>(layout, preferredSize);
vv = new VisualizationViewer<String, Number>(visualizationModel, preferredSize);

我已将它放在 GraphZoomScrollPane 中。我可以放大、缩小、四处移动图表,直到它看起来就像我想要的那样,但我希望在我启动 Swing 应用程序时它是那样的。

我真正想要的是图表的 PreferredSize 根据图表大小动态调整,这样当我加载大图表时,我不必在顶点不再重叠之前放大十亿倍。

不适合我的面板的内容通常应该“消失”在滚动条后面。

最佳答案

您可以使用以下方法以编程方式扩展它:

double amount = 1.0;    // Or negative to zoom out.
ScalingControl scaler = new CrossoverScalingControl();
scaler.scale(vv, amount > 0 ? 1.1f : 1 / 1.1f, vv.getCenter());

注意:我之前从 StackOverflow 得到这个(所以这段代码的功劳不是我的),但我似乎找不到原始问题。

编辑:

我找到了:

How to manually set the zoom on a Jung visualisation?

关于java - JUNG Layout 的首选尺寸,基于图形的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971753/

相关文章:

java - 何时创建 Maven 子模块

java构造函数分配整个类而不仅仅是字段

java - 如何从另一个类更新 Activity 的 TextView

java - JUNG 的 DirectedSparseGraph 是可序列化的吗?

java - Jungrapht 的可观察网络 + 网络事件 + 网络事件监听器

java - 在 Java 中实现曾经是 Mixin 的正确方法?

java - JUNG:将图形保存到图像文件中

java - 具有两个不同顶点的 JUNG 图

binary-search-tree - 如何从 C++ 为 Graphviz 生成二叉树点文件

javascript - 基于Web的大型图形绘图库