有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JUNG布局的首选大小,基于图形的大小

我使用的是JUNG框架和FRP布局。像这样:

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);

我把它放在了一个GraphZoomScroll窗格中。我可以放大、缩小、移动图形,直到它看起来像我想要的那样,但我希望它在启动Swing应用程序时也是这样

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

不适合我的面板的东西通常会在滚动条后面“消失”


共 (1) 个答案

  1. # 1 楼答案

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

    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?