public JGraphXGraphPanel(NAR n) { super(new BorderLayout()); NARGraph g = new NARGraph(); g.add(n, IncludeEverything, new NARGraph.DefaultGraphizer(true, true, true, true, true)); // create a visualization using JGraph, via an adapter jgxAdapter = new JGraphXAdapter(g) {}; mxGraphComponent mxc = new mxGraphComponent(jgxAdapter) {}; mxc.setAntiAlias(true); mxc.setConnectable(false); mxc.setExportEnabled(false); mxc.setFoldingEnabled(false); mxc.setPanning(true); mxc.setTextAntiAlias(true); add(new JScrollPane(mxc), BorderLayout.CENTER); mxFastOrganicLayout layout = // new mxCompactTreeLayout(jgxAdapter); new mxFastOrganicLayout(jgxAdapter); // new mxCircleLayout(jgxAdapter); layout.setForceConstant(150); layout.execute(jgxAdapter.getDefaultParent()); /* mxOrganicLayout layout = //new mxCompactTreeLayout(jgxAdapter); new mxOrganicLayout(jgxAdapter); //new mxCircleLayout(jgxAdapter); layout.setEdgeLengthCostFactor(0.001);*/ /* mxCompactTreeLayout layout = new mxCompactTreeLayout(jgxAdapter); layout.setLevelDistance(40); layout.setNodeDistance(50); layout.execute(jgxAdapter.getDefaultParent());*/ jgxAdapter.setConnectableEdges(false); jgxAdapter.setCellsDisconnectable(false); jgxAdapter.setEdgeLabelsMovable(false); // jgxAdapter.setCellsLocked(true); }