В режиме выбора я хочу запретить пользователю перетаскивать вершину за пределы определенных границ макета. Я установил для 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);