0

Jungで静的レイアウトでグラフを作成しました。いくつかのステップで頂点を移動する2Dでのランダムな移動の方法があります。プロジェクトのほとんどの操作で JUNG のパワーを高く評価していますが、ランダム ウォーク メソッドが呼び出されたときに頂点の動きをアニメーション化したかったのです。この点について助けが必要です。以下は私のグラフコードです。

    final int NUM_WALKS = 41;
    int count = 0;
    while (count < NUM_WALKS) {
        sa.randomwalk();

        Graph<Integer, String> gr = wsn.generateRandomGraph();
        Transformer<Integer, Point2D> locationTransformer = new Transformer<Integer, Point2D>() {
            @Override
            public Point2D transform(Integer vertex) {
                int value = (vertex.intValue());// * 40) + 20;
                Map<Integer, Integer> MapX = new HashMap<Integer, Integer>();
                MapX = WirelesSensorNetwork.MapX_Object();
                Map<Integer, Integer> MapY = new HashMap<Integer, Integer>();
                MapY = WirelesSensorNetwork.MapY_Object();
                return new Point2D.Float(MapX.get(value), MapY.get(value));
            }
        };
        Dimension preferredSize = new Dimension(700, 600);
        StaticLayout<Integer, String> layout = new StaticLayout<Integer, String>(gr, locationTransformer);


        layout.setSize(new Dimension(300, 250));

        VisualizationViewer<Integer, String> vv = new VisualizationViewer<Integer, String>(layout,
                preferredSize);
        vv.setBackground(Color.WHITE);

        vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
        vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR);
        vv.getRenderContext().setEdgeShapeTransformer(new EdgeShape.Line<Integer, String>());

        JFrame frame = new JFrame("Wireless Sensor Network ");
        frame.getContentPane().setBackground(Color.WHITE);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(vv);
        frame.pack();
        frame.setVisible(true);

    count++;
    }
4

1 に答える 1