我已经在我的程序中用JGraphT
's可视化了关系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
那么我会得到完全冻结的图形。