!7 static void go(final BufferedImage img, S title) { final JTextField tf = jTextField(title); showFormTitled("Upload Image", "Image title (optional)", tf, func { disableSubmitButton(getFrame(tf)); thread "Upload Image" { try { messageBox("Image uploaded as " + uploadImage(getTextTrim(tf), toPNG(img)); disposeFrame(tf); } catch e { enableSubmitButton(getFrame(tf)); messageBox(e); } } false; }); }