Как я могу нарисовать график, используя JGraphX ​​без необходимости назначения координат

    import javax.swing.JFrame;

         import com.mxgraph.swing.mxGraphComponent;
         import com.mxgraph.view.mxGraph;
       import com.mxgraph.view.*;

         public class HelloWorldMX extends JFrame
      {


          private static final long serialVersionUID = -2707712944901661771L;

    public HelloWorldMX()
    {
        super("Hello, World!");

        mxGraph graph = new mxGraph();
        Object parent = graph.getDefaultParent();

        graph.getModel().beginUpdate();
        try
        {
            Object v1 = graph.insertVertex(parent, null, "Hello", 20, 20, 80,
                    30);
            Object v2 = graph.insertVertex(parent, null, "World!", 240, 150,
                    80, 30);
            graph.insertEdge(parent, null, null, v1, v2);
            Object v3 = graph.insertVertex(parent, null, "TXP", 0, 0, 240, 30);
              graph.insertEdge(parent, null, null, v1, v3);


            Object v4=  graph.insertVertex(parent, null, "2.1", 0, 0, 220, 30);
            Object v5=  graph.insertVertex(parent, null, "2.2", 0, 0, 220, 30);
            Object v6=  graph.insertVertex(parent, null, "2.3", 0, 0, 220, 30);

              graph.insertEdge(parent, null, null, v1, v4);
              graph.insertEdge(parent, null, null, v2, v6);
              graph.insertEdge(parent, null, null, v3, v6);
              graph.insertEdge(parent, null, null, v4, v6);


        }
        finally
        {
            graph.getModel().endUpdate();
        }

        mxGraphComponent graphComponent = new mxGraphComponent(graph);
        getContentPane().add(graphComponent);

        var layoutMgr = new mxLayoutManager(graph);
        mxLayoutManager.layoutMgr.getLayout = function(parent) {
        return layoutMgr;
    };
    }

    public static void main(String[] args)
    {
        HelloWorldMX frame = new HelloWorldMX();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 320);
        frame.setVisible(true);
    }

}

Может ли JGraphX ​​назначать координаты случайным и динамическим образом. Помогает ли любая API-интерфейс Layout Manager, я не хочу давать какие-либо координаты при вставке вершины, и я хочу, чтобы библиотека графов размещала вершины случайным образом. Я также хочу знать, есть ли метод, чтобы узнать случайные координаты.

0 ответов

Другие вопросы по тегам