我正在使用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>
在我的面板中不适合通常应该在滚动条后面“消失”。
答案 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得到了这个(所以这段代码的功劳不是我的),但我似乎无法找到原来的问题。
编辑:
我找到了它: