sclass SurfaceShowingAutoZoomedImage > JVolatileImageSurface { gettable BufferedImage image; *() { volatileMode(false); // seems it's not even faster setImage(null); } void setImage(BufferedImage image) { this.image = image; setRenderable(new FitImageInComponentRenderable(image)); } }