JGraphx:如何避免相互添加边?

JGraphx : How to avoid adding edges over each other?

我正在使用 jGraphx 开发一个应用程序,我想知道如何避免在彼此之间创建边缘。

当我在 2 个顶点之间添加 2 条边时,这 2 条边在其他位置之上..

提前致谢。

编辑:这就是我得到的,那些是带有标签的 2 条边:"dist = 1" 和 "dist = 4" 彼此上方。

没有看到你的任何源代码,很难提供具体的细节,但一般来说,你需要做的是获取图形的样式表,然后修改与边缘相关的参数。一个例子是:

    mxGraph mxgraph = new mxGraph();
    Object parent = mxgraph.getDefaultParent();
    mxgraph.getModel().beginUpdate();
    mxStylesheet stylesheet = mxgraph.getStylesheet();
    Hashtable<String, Object> style = new Hashtable<>();
    stylesheet.putCellStyle("ROUNDED", style);

    Map<String, Object> vertexStyle = stylesheet.getDefaultVertexStyle();
    vertexStyle.put(mxConstants.STYLE_FILLCOLOR, "#FFFFFF");
    vertexStyle.put(mxConstants.STYLE_STROKECOLOR, "#000000");
    vertexStyle.put(mxConstants.STYLE_AUTOSIZE, 1);
    vertexStyle.put(mxConstants.STYLE_SPACING, "10");
    vertexStyle.put(mxConstants.STYLE_ORTHOGONAL, "true");
    vertexStyle.put(mxConstants.STYLE_SHAPE, mxConstants.SHAPE_ELLIPSE);

    Map<String, Object> edgeStyle = stylesheet.getDefaultEdgeStyle();
    edgeStyle.put(mxConstants.STYLE_EDGE, mxConstants.EDGESTYLE_ORTHOGONAL);
    edgeStyle.put(mxConstants.STYLE_SHAPE, mxConstants.SHAPE_CURVE);
    edgeStyle.put(mxConstants.STYLE_ENDARROW, mxConstants.ARROW_CLASSIC);

    ...set up your edges and vertices here, where the last parameter is "ROUNDED" (the name of the stylesheet)

    mxgraph.getModel().endUpdate();

这很容易做到:

    new mxCircleLayout(graph).execute(graph.getDefaultParent());
    new mxParallelEdgeLayout(graph).execute(graph.getDefaultParent());