0

我得到了这样的优势:List<mxPoint> points = graph.getView().getState(edgeCell).getAbsolutePoints();在活动中:mxEvent.CHANGE

据我所知,这是在边缘点发生变化后触发的事件。在同一事件edgeCell.getGeometry().getPoints();中,我相信只返回一分,中心一分。

当我尝试以编程方式应用此更改(将相同的点设置为新边缘)时,它不适用于graph.getView().getState(edgeCell).setAbsolutePoints(points);. 似乎将点传递给状态,但更改并未应用于图形。也许我应该触发一些事件。

然后我尝试将这些点设置为边缘的几何形状,这些更改应用于图形,但是会导致定位问题。我相信这是因为绝对点(绝对定位)与几何点不同。

关于我应该如何进行的任何帮助?

4

1 回答 1

1

我在这里找到了一个解决方案:http: //forum.jgraph.com/questions/237/how-do-i-get-the-length-of-an-edge 我在交易中设置了绝对点(在 endUpdate 之前)但是状态是在它之后创建的(这是有道理的)。

除了在交易后设置绝对点外,我还更新了边缘,例如:graph.validateEdge(edgeCell.getSource(), edgeCell.getTarget(), edgeCell);

不确定是否是更新此更改的最佳方式,但似乎适用于我的情况。

于 2014-05-03T15:54:43.257 回答