Jung:阻止用户移动可视化大小之外的顶点?

时间:2017-02-20 19:50:17

标签: jung jung2

在拾取模式下,我想限制用户拖动定义的布局边界之外的顶点。我已将ISOMLayout,VisualizationModel和VisualizationViewer设置为相同的大小。但是如果我缩小(我使用CrossoverScalingControl),我可以将顶点拖到布局/ vv的界限之外。这导致我的GraphZoomScrollPane的滚动条不能按预期工作:可以有浮动的顶点,你可以滚动到它,你必须缩小才能看到它们。

当然有办法将用户锁定在某个边界?

    Dimension preferredDimension = new Dimension(1200, 800);

    Layout<CNode,CEdge> layout = new ISOMLayout<>(graph);
    layout.setSize(preferredDimension);

    VisualizationModel<CNode, CEdge> visualizationModel = new DefaultVisualizationModel<>(layout, preferredDimension);

    vv = new VisualizationViewer<>(visualizationModel, preferredDimension);

1 个答案:

答案 0 :(得分:0)

如果要设置一个无法手动移动顶点的边界,可以在代码中执行此操作(特别是在响应拖动选定顶点的部分中;您可以在其中指定限制你可以拖远一个顶点)。 JUNG没有责任阻止你将顶点位置设置为布局不会使用的东西;就JUNG而言,如果你愿意,你可以这样做。 :)