如何在mxgraph中更改mxCell和mxPoint之间的边缘样式?

时间:2013-12-04 21:00:42

标签: java swing classcastexception edge jgraphx

我正在尝试绘制具有特定边缘样式的边缘,而不是默认边缘样式。问题是我在一个单元格和一个点之间绘制一条边,这样边缘看起来好像是从一个单元格到图形中的空间。

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 个答案:

答案 0 :(得分:2)

尝试在边缘几何上设置终点,不能将该点用作源终端,因为它应该是一个单元格(参见例外):

edge.geometry.setTerminalPoint(termPoint, true);

如果您尝试在终端和边缘之间实现空格,您还可以使用STYLE_PERIMETER_SPACING作为顶点,或使用STYLE_SOURCE/TARGET_PERIMETER_SPACING作为边缘。