!7 p-noconsole { final JTextField tfSender = jtextfield(completeGMailAddress(gmailDefaultUser())); final JTextField tfTo = jtextfield("bill.gates@microsoft.com"); final JTextField tfSubject = jtextfield("Hello"); final JTextArea tfText = jwrappedtextarea(trim([[ Hello Bill. -Sent from my JavaX computer]])); F1 layouter = func(Container parent) -> Dimension { Dimension size = parent.getSize(); int y = 10; for (Component c : parent.getComponents()) { int h = c.getPreferredSize().height; c.setBounds(10, y, size.width-20, h); y += h + 10; } ret componentsBoundingSize(parent, 10); }; final JComponent c = showFormTitled_customLayout(layouter, "GMail Send Form", "From:", tfSender, "To:", tfTo, "Subject:", tfSubject, "Text:", jminheight(300, tfText), "", jbutton("Send mail!", r-thread-messagebox { infoBox("Sending..."); quickGMail(getTextTrim(tfSender), getTextTrim(tfTo), getTextTrim(tfSubject), getText(tfText)); infoBox("Sent!"); })); // TODO: keep data titlePopupMenuItem(c, "Bigger fonts", r { swingBiggerFonts(); disposeWindow(c); callMain(); }); titlePopupMenuItem(c, "Smaller fonts", r { swingSmallerFonts(); disposeWindow(c); callMain(); }); }