@Override public void paint(Graphics g) { Image mImage = createImage(this.getWidth(), this.getHeight()); Graphics2D ga = (Graphics2D) mImage.getGraphics(); ga.setRenderingHint( RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED); ga.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); ga.setRenderingHint( RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_SPEED); ga.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE); ga.setRenderingHint( RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_OFF); ga.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR); ga.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED); ga.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); ga.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); for (String nome : canvasControl.getVisibleKeys()) { MainWindowControl.getUniqueInstance().getGraphCanvasList().get(nome).paint(ga, this); } g.drawImage(mImage, 0, 0, null); }
public FrameCanvas(FrameCanvasControl canvasControl) { super(); this.canvasControl = canvasControl; /* adicionando listener no model, para quando houver edições */ final GraphModel gm = MainWindowControl.getUniqueInstance().getGraphModel(); gm.addListener( new ActionListener() { public void actionPerformed(ActionEvent e) { repaint(); } }); }