我对 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());