Как отключить визуальные изменения графа (взаимосвязи) в JGraphT / JGraphX?

1

Я визуализировал отношения в своей программе с 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);

                }}
            ) 
        );

в частности пользователь все еще может добавлять новые ребра:

Изображение 174551

UDPATE

Если я установил setEnablled (false) в mxGraphComponent тогда я получу полностью замороженный график.

Теги:
jgraphx
jgrapht

1 ответ

3
Лучший ответ

Попробуйте использовать mxGraphComponent.setConnectable(false), он должен отключить обработчик подключений в компоненте графика.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню