please include function showImage. static ImageSurface showImage_hcentered(final BufferedImage img) { ret (ImageSurface) swing(func { ImageSurface is = new ImageSurface(img); JFrame frame = showPackedFrame(new JScrollPane(vstack(jfullcenter(is)))); frameIcon(frame, showImage_defaultIcon); return is; }); } static ImageSurface showImage_hcentered(final BufferedImage img, fS title) { ret setFrameTitle(showImage_hcentered(img), title); } static ImageSurface showImage_hcentered(S title, BufferedImage img) { ret showImage_hcentered(img, title); } static ImageSurface showImage_hcentered(S title, RGBImage img) { return showImage_hcentered(title, img.getBufferedImage()); } static ImageSurface showImage_hcentered(ImageSurface is, BufferedImage img) { if (is == null) ret showImage_hcentered(img); is.setImage(img); ret is; } // make or update the ImageSurface static ImageSurface showImage_hcentered(ImageSurface is, S title, BufferedImage img) { if (is == null) ret showImage_hcentered(title, img); is.setImage(img); setFrameTitle(is, title); ret is; } static ImageSurface showImage_hcentered(ImageSurface surface, RGBImage img, S title) { ret setFrameTitle(showImage_hcentered(img, surface), title); } static ImageSurface showImage_hcentered(RGBImage img, ImageSurface surface) { if (surface == null) ret showImage_hcentered(img); else { surface.setImage(img); ret surface; } } static ImageSurface showImage_hcentered(RGBImage img) { return showImage_hcentered(img.getBufferedImage()); } static ImageSurface showImage_hcentered(ImageSurface surface, S title, RGBImage img) { ret showImage_hcentered(surface, img, title); }