JUNG Layout的首选大小,基于图表的大小

时间:2012-10-19 09:56:05

标签: 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根据图形大小动态调整,这样当我加载大图形时,我不必在顶点不再重叠之前放大十亿次。 / p>

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

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法以编程方式对其进行缩放:

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?