public JComponent actualizeGraph(boolean lockLayout) { // myGraph = g; System.err.println("Location: x = " + vv.getLocation().x + ", y = " + vv.getLocation().y); MultiLayerTransformer mlt = vv.getRenderContext().getMultiLayerTransformer(); Map<Functionality.Node, Point2d> locSet = new HashMap<Functionality.Node, Point2d>(); PickedState<Node> psn = vv.getPickedVertexState(); List<Functionality.Node> ln = DataModule.displayedGraph.getNodes(); for (int i = 0; i < ln.size(); i++) { locSet.put(ln.get(i), new Point2d(layout.getX(ln.get(i)), layout.getY(ln.get(i)))); } init(DataModule.displayedGraph, layout_width, layout_height); drawGraph(); for (int i = 0; i < ln.size(); i++) { layout.setLocation(ln.get(i), locSet.get(ln.get(i)).x, locSet.get(ln.get(i)).y); } PickedState<Node> newPsn = vv.getPickedVertexState(); for (int i = 0; i < ln.size(); i++) { newPsn.pick(ln.get(i), psn.isPicked(ln.get(i))); } if (vdp instanceof VertexDisplayPredicateDistance) { ((VertexDisplayPredicateDistance) vdp).Actualise(); } vv.getRenderContext().setVertexIncludePredicate(vdp); vv.getRenderContext().setEdgeIncludePredicate(eip); vv.setPickedVertexState(newPsn); vv.getRenderContext().setMultiLayerTransformer(mlt); vv.getRenderContext().setVertexFillPaintTransformer(VertexColorTransformer.vctInstance); layout.lock(lockLayout); MyGraphZoomScrollPane graphPane = new MyGraphZoomScrollPane(vv); return graphPane; }