Undirected Graphs in JGraphX

Ich versuche, Diagramme in JGraphx anzuzeigen. Solange ich gerichtete Diagramme verwende, ist alles in Ordnung, aber wenn ich versuche, ein ungerichtetes Diagramm anzuzeigen, wird es mit der Richtung angezeigt.

Der Code stammt aus der Demo von jgrapht.

package org.jgrapht.demo; import com.mxgraph.layout.*; import com.mxgraph.swing.*; import java.awt.*; import java.nio.file.FileSystem; import javax.swing.*; import org.jgrapht.*; import org.jgrapht.ext.*; import org.jgrapht.graph.*; /** * A demo applet that shows how to use JGraphX to visualize JGraphT graphs. * Applet based on JGraphAdapterDemo. * * @since July 9, 2013 */ public class JGraphXAdapterDemo extends JApplet { private static final long serialVersionUID = 2202072534703043194L; private static final Dimension DEFAULT_SIZE = new Dimension(530, 320); private JGraphXAdapter<String, DefaultEdge> jgxAdapter; /** * An alternative starting point for this demo, to also allow running this * applet as an application. * * @param args ignored. */ public static void main(String [] args) { JGraphAdapterDemo applet = new JGraphAdapterDemo(); applet.init(); JFrame frame = new JFrame(); frame.getContentPane().add(applet); frame.setTitle("JGraphT Adapter to JGraph Demo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } /** * {@inheritDoc} */ public void init() { // create a JGraphT graph ListenableUndirectedGraph<String, DefaultEdge> g = new ListenableUndirectedGraph<String, DefaultEdge>( DefaultEdge.class); // create a visualization using JGraph, via an adapter jgxAdapter = new JGraphXAdapter<String, DefaultEdge>(g); getContentPane().add(new mxGraphComponent(jgxAdapter)); resize(DEFAULT_SIZE); String v1 = "v1"; String v2 = "v2"; String v3 = "v3"; String v4 = "v4"; // add some sample data (graph manipulated via JGraphX) g.addVertex(v1); g.addVertex(v2); g.addVertex(v3); g.addVertex(v4); g.addEdge(v1, v2); g.addEdge(v2, v3); g.addEdge(v3, v1); g.addEdge(v4, v3); // positioning via jgraphx layouts mxCircleLayout layout = new mxCircleLayout(jgxAdapter); layout.execute(jgxAdapter.getDefaultParent()); // that's all there is to it!... } }

Ist es möglich, es ungerichtet zu zeigen?

Vielen Dan

Torben

PS .: Entschuldigung für mein schlechtes Englisch

Antworten auf die Frage(2)

Ihre Antwort auf die Frage