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