asclass JVolatileImageSurface > Surface { VolatileImageMakerForComponent volatileImageMaker; settable bool volatileMode = true; settable Renderable renderable; @Override public void render(int w, int h, Graphics2D g) { if (!volatileMode) renderable.renderOn(g, w, h); else { if (volatileImageMaker == null || !volatileImageMaker.sizeIs(w, h)) volatileImageMaker = new VolatileImageMakerForComponent(this, w, h, renderable); volatileImageMaker.paintOnScreen(g); } } }