gpt4 book ai didi

java - 如何获取 JUNG 中的边缘标签和值?

转载 作者:行者123 更新时间:2023-12-01 15:40:15 25 4
gpt4 key购买 nike

我对 JUNG 和边缘(顶点)标签有疑问。

我的应用程序基于 JUNG。它需要从给定的图表中计算一些值。图表需要“手动”淹没,并且在该图表上我需要设置“起始值”。我正在考虑为该值使用标签(顶点名称,边长度)。

现在,我可以画一个图表了;我可以获取顶点和边的数量,但我不知道如何获取标签和值。

我尝试对边和顶点使用自定义类,但我根本不知道如何设置标签。

这是我的代码的一部分。它取自文档。有人可以告诉我要更改什么,以便我可以在绘制图表时设置标签,然后检索值吗?

graph = new SparseMultigraph<Number, Number>();

this.layout = new StaticLayout<Number, Number>(graph,
new Dimension(600, 600));

vv = new VisualizationViewer<Number, Number>(layout);
vv.setBackground(Color.white);

vv.getRenderContext().setVertexLabelTransformer(
MapTransformer.<Number, String>getInstance(LazyMap.<Number, String>decorate(
new HashMap<Number, String>(),
new ToStringLabeller<Number>())));

vv.getRenderContext().setEdgeLabelTransformer(
MapTransformer.<Number, String>getInstance(LazyMap.<Number, String>decorate(
new HashMap<Number, String>(),
new ToStringLabeller<Number>())));

vv.setVertexToolTipTransformer(vv.getRenderContext().getVertexLabelTransformer());

Container content = getContentPane();
final GraphZoomScrollPane panel = new GraphZoomScrollPane(vv);
content.add(panel);
Factory<Number> vertexFactory = new VertexFactory();
Factory<Number> edgeFactory = new EdgeFactory();

final EditingModalGraphMouse<Number, Number> graphMouse = new EditingModalGraphMouse<Number, Number>(
vv.getRenderContext(), vertexFactory, edgeFactory);

vv.setGraphMouse(graphMouse);
vv.addKeyListener(graphMouse.getModeKeyListener());

最佳答案

您可以使用此方法在 jung 中设置边缘标签。

edgeName : your edge name

vv.getRenderContext().setEdgeLabelRenderer(new Transformer<String, String>() {
@Override
public String transform(String edgeName) {
String label;
//map your label to your edgeName
return label;
}
});

顶点依此类推

关于java - 如何获取 JUNG 中的边缘标签和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172068/

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