Как изменить стиль края между mxCell и mxPoint в mxgraph?

Я пытаюсь нарисовать край с определенным стилем края, отличным от стиля по умолчанию. Проблема в том, что я рисую грань между ячейкой и точкой так, чтобы кромка выглядела так, как будто она переходит из ячейки в пространство на графике.

edge = graph.insertEdge(parentCell, null, label, myCell,null);

Я получаю исключение:

"java.lang.ClassCastException: com.mxgraph.util.mxPoint cannot be cast to com.mxgraph.model.mxICell"

когда я использую этот код:

mxGeometry geoCell = myCell.getGeometry();
mxPoint termPoint = new mxPoint(geoCell.getX() - (120 - (offset)), geoCell.getY() + 100);
graph.insertEdge(parentCell, null, "", myCell, termPoint, "edgeStyle=elbowEdgeStyle;elbow=horizontal;orthogonal=0;");

Я использую JGraphX ​​1.10. Есть ли что-то, что я могу заменить точкой, которая не будет ошибкой и создаст вид края, соединяющегося с пространством?

1 ответ

Решение

Попробуйте установить конечную точку на геометрии ребра, вы не можете использовать точку в качестве исходного терминала, так как она должна быть ячейкой (см. Исключение):

edge.geometry.setTerminalPoint(termPoint, true);

Если вы пытаетесь создать пространство между терминалом и краем, вы также можете использовать STYLE_PERIMETER_SPACING для вершины или одного из STYLE_SOURCE/TARGET_PERIMETER_SPACING для края.

Другие вопросы по тегам