public void redraw() { // update the title of the GUI if (getCustomTitle() == null) { int id = manager.getWindowIndex(this); if (id != 0) setTitle(getTitle() + " (view " + (id + 1) + ")"); else setTitle(getTitle()); } stepPanZoomAnimation(); synchronized (imgLock) { // redraw the scene manager.preRedraw(this); manager.redraw(this); // copy the image buffer into the JLabel on the JFrame Graphics cg = lblCanvas.getGraphics(); if (cg != null) cg.drawImage(img, 0, 0, null); // save a screenshot if one was requested if (saveScreenshotName != null) { try { ImageIO.write(img, "png", new java.io.File(saveScreenshotName)); } catch (java.io.IOException e) { DialogHelper.displayError("Screenshot could not be saved: " + e); } saveScreenshotName = null; } } }
/** set the height, width, and zoom of this window */ public void setMySize(int w, int h, float zoom) { this.zoom = zoom; this.zoom = 1.0f; // ET hack this.setBounds(getX(), getY(), w, h); w -= reservedWidthRight; h -= reservedHeightBottom; lblCanvas.setBounds(0, 0, w, h); synchronized (imgLock) { img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics2D gfx = (Graphics2D) img.getGraphics(); gfx.setBackground(Color.WHITE); gfx.setFont(Constants.FONT_DEFAULT); gfx.setComposite(Constants.COMPOSITE_OPAQUE); } }