Я визуализировал отношения в своей программе с JGraphT
JGraphXAdapter
.
К сожалению, мне нужно разрешить пользователю только визуальные изменения графика, т.е. Перемещение/изменение размеров узлов. Но он все еще может что-то редактировать, несмотря на то, что я отключил все, что нашел:
setLayout(new BorderLayout());
add(
new mxGraphComponent(
jgxAdapter = new JGraphXAdapter<Corpus, CorporaDirectory.CorporaGraphEdge>(
CorporaDirectory.getInstance().getCorporaGraphModel()
) {{
setCellsDeletable(false);
setCellsCloneable(false);
setCellsEditable(false);
setCellsDisconnectable(false);
setConnectableEdges(false);
setVertexLabelsMovable(false);
setSplitEnabled(false);
}}
)
);
в частности пользователь все еще может добавлять новые ребра:
UDPATE
Если я установил setEnablled (false) в mxGraphComponent
тогда я получу полностью замороженный график.
Попробуйте использовать mxGraphComponent.setConnectable(false)
, он должен отключить обработчик подключений в компоненте графика.