static void inputMultiLineText(fS msg, fO action) { inputMultiLineText(msg, "", action); } // action: voidfunc(S) static void inputMultiLineText(fS msg, final S defaultText, fO action) { fO threadInfo = _threadInfo(); awt { final JTextArea ta = wordWrapTypeWriterTextArea(defaultText); S title = joinStrings(" | ", msg, programName()); JComponent form = showFormTitled2(title, unnull(msg), ta, r { vmBus_send('inputtingText_OK, threadInfo, msg, ta); callF_thread(action, getText(ta)) }); renameSubmitButton(form, "OK"); vmBus_send('inputtingText, threadInfo, msg, ta); } }