@Override public void writeTo(Graph data, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> headers, OutputStream out) throws IOException { Integer width = Integer.parseInt(Optional.ofNullable(request.getParameter("width")).orElse(DEFAULT_WIDTH)); Integer height = Integer.parseInt(Optional.ofNullable(request.getParameter("height")).orElse(DEFAULT_HEIGHT)); String layoutName = Optional.ofNullable(request.getParameter("layout")).orElse(DEFAULT_LAYOUT); GraphJung<Graph> graph = new GraphJung<Graph>(data); AbstractLayout<Vertex, Edge> layout = getLayout(graph, layoutName); layout.setSize(new Dimension(width, height)); BasicVisualizationServer<Vertex, Edge> viz = new BasicVisualizationServer<>(layout); viz.setPreferredSize(new Dimension(width, height)); viz.getRenderContext().setEdgeLabelTransformer(edgeLabelTransformer); viz.getRenderContext().setVertexLabelTransformer(vertexLabelTransformer); viz.getRenderContext().setVertexFillPaintTransformer(vertexColorTransformer); BufferedImage bi = renderImage(viz); String imageType = null; if (mediaType.equals(CustomMediaTypes.IMAGE_JPEG_TYPE)) { imageType = "jpg"; } else if (mediaType.equals(CustomMediaTypes.IMAGE_PNG_TYPE)) { imageType = "png"; } ImageIO.write(bi, imageType, out); }
visualization.getRenderContext().setEdgeDrawPaintTransformer(myEdgeTransformer); visualization.getRenderer().getVertexLabelRenderer().setPosition(Position.AUTO); visualization.setPreferredSize(new Dimension(900, 650)); visualization.setBackground(Color.WHITE); return visualization;
vv.setPreferredSize(new Dimension(700, 700)); vv.getRenderContext().setVertexFillPaintTransformer( vertexFillPaintTransformer);
vv.setPreferredSize(new Dimension(700, 700)); vv.getRenderContext().setVertexFillPaintTransformer( vertexFillPaintTransformer);
/** * Create an instance with the specified model and view dimension. * * @param model the model to use * @param preferredSize initial preferred size of the view */ public BasicVisualizationServer(VisualizationModel<V,E> model, Dimension preferredSize) { this.model = model; renderContext = new PluggableRenderContext<V,E>(model.getGraphLayout().getGraph()); model.addChangeListener(this); setDoubleBuffered(false); this.addComponentListener(new VisualizationListener(this)); setPickSupport(new ShapePickSupport<V,E>(this)); setPickedVertexState(new MultiPickedState<V>()); setPickedEdgeState(new MultiPickedState<E>()); renderContext.setEdgeDrawPaintTransformer(new PickableEdgePaintTransformer<E>(getPickedEdgeState(), Color.black, Color.cyan)); renderContext.setVertexFillPaintTransformer(new PickableVertexPaintTransformer<V>(getPickedVertexState(), Color.red, Color.yellow)); setPreferredSize(preferredSize); renderingHints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); renderContext.getMultiLayerTransformer().addChangeListener(this); }
new PickableNodePaintFunction<>(getPickedNodeState(), Color.red, Color.yellow)); setPreferredSize(preferredSize); renderingHints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);