1

我已经在我的程序中用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那么我会得到完全冻结的图形。

4

1 回答 1

3

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

于 2014-11-26T23:16:17.380 回答