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 回答