在拾取模式下,我想限制用户将顶点拖动到定义的布局范围之外。我已将 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);