0

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

1 に答える 1