gpt4 book ai didi

java - 在 Prefuse 中以编程方式绘制有向边

转载 作者:搜寻专家 更新时间:2023-11-01 02:14:08 26 4
gpt4 key购买 nike

我使用以下代码来显示图表:

    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);

最佳答案

您需要为边设置FILLCOLOR:

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

我用 RadialGraphView 演示重现了这个问题,除了这一行之外,我不需要对源代码进行任何更改。 (不过,我不得不更改数据文件。)

关于java - 在 Prefuse 中以编程方式绘制有向边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10432811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com