如何在JGraphX

时间:2017-08-25 11:02:07

标签: jgraphx

在图表中,我的边有多个标签(多个标签):一个标签位于源单元旁边,另一个标签位于目标单元旁边。两个标签都创建为边的子顶点。为了正确定位调整原因,这些标签的几何设置没有相对(边缘)。生成边缘时,标签位置正确:我使用mxGraphView.getPerimeterPoint()和一些调整来定位源标签和目标标签。

使用鼠标拖动移动单元格时,我需要重新定位这些标签。目前,我已尝试对图形事件(mxEvent.CELLS_MOVEDmxEvent.MOVE_CELLS)或模型事件(mxEvent.CHANGE)做出反应,注册图形或模型侦听器。

但是,getPerimeterPoint函数使用通过graphView(mxCellState)获得的mxCell(不是graph.getView().getState(cell))来进行计算,并且此单元格状态mxGeometry基于在细胞的先前位置。

  • 这个解决方案是基于事件的正确方法吗?
  • 如果是的话,我是否应该完全重写getPerimeterPoint(及其中使用的函数)来使用由其重要性而不是event.getProperties("cells")的事件(mxCellState)返回的mxCell?或者是否有一种技术可以获得与当前移动操作结束相对应的单元状态而不会弄乱整个图形更新过程?

感谢任何帮助或建议,谢谢。

0 个答案:

没有答案