如何禁用JGraphT / JGraphX中的可视化图形(互连)修改?

时间:2014-11-26 22:57:18

标签: java jgrapht jgraphx

我使用JGraphT的{​​{3}} {/ 3>在我的计划中可视化了关系

不幸的是,我需要允许用户仅对图形进行视觉修改,即移动/调整节点大小。但他仍然可以编辑一些东西,尽管事实上我禁用了我找到的所有内容:

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);

                }}
            ) 
        );

特别是用户仍然可以添加新的边缘:

enter image description here

UDPATE

如果我将setEnablled(false)设置为mxGraphComponent,那么我会得到完全冻结的图形。

1 个答案:

答案 0 :(得分:3)

尝试使用mxGraphComponent.setConnectable(false),它应禁用图表组件中的连接处理程序。