4

次のコードを使用してグラフを表示します。

    graph = new Graph(true);
    vis = new Visualization();
    vis.add(GRAPH, graph);

    CustomLabelRenderer re = new CustomLabelRenderer();
    re.setImageField(NODE_TYPE_IMAGE);
    re.setImagePosition(Constants.TOP);
    EdgeRenderer edgeRenderer = new EdgeRenderer(Constants.EDGE_TYPE_LINE, Constants.EDGE_ARROW_FORWARD);
    edgeRenderer.setArrowType(Constants.EDGE_ARROW_FORWARD);
    edgeRenderer.setArrowHeadSize(10, 10);
    DefaultRendererFactory factory = new DefaultRendererFactory(re, edgeRenderer);
    factory.add(new InGroupPredicate(EDGE_DECORATORS), new LabelRenderer(VisualItem.LABEL));
    vis.setRendererFactory(factory);

ご覧のとおり、グラフをインスタンス化して有向辺を使用します。その後、矢印の頭を使用するように EdgeRenderer を設定しました。ただし、エッジに矢印は表示されず、単純な線だけが表示されます。私は何を間違っていますか?

それが私がエッジを追加する方法です:

graph.addEdge(node1, node2);
4

1 に答える 1

6

FILLCOLORエッジのを設定する必要があります。

filter.add(new ColorAction(edges, VisualItem.FILLCOLOR, 
    ColorLib.rgb(100,100,100));

デモで問題を再現しましたがRadialGraphView、この行を除いてソースコードを変更する必要はありませんでした。(ただし、データファイルを変更する必要がありました。)

于 2012-05-07T09:14:36.723 に答える