!7 p-noconsole { final JComboBox cbBot = currentBotsComboBox(); final JTextField tfMsg = jtextfield(); final JTextField tfResult = standardTextFieldPopupMenu(juneditabletextfield()); final JLabel lblTiming = jrightalignedlabel(); final JLabel lblBot = jlabel(); final JLabel lblMessageSent = jlabel(); setFrameWidth(800, showFormTitled("Send message to bot", jrightalignedlabel("Bot"), botSelector_withRefresh(cbBot), jrightalignedlabel("Message"), tfMsg, "", lblMessageSent, "", lblBot, jrightalignedlabel("Result"), tfResult, "", lblTiming, "", jbutton("Send", r { S bot = getText(cbBot); print("Bot: " + bot); fS address = botSelector_getAddress(cbBot); print("Address: " + bot); if (empty(address)) ret; fS msg = getText(tfMsg); setText(lblMessageSent, "Sent message: " + msg); setText(lblBot, "To bot: " + bot); setText(tfResult, "Sending..."); thread "Send" { long time = sysNow(); try { S answer = send(address, msg); S a = shorten(answer, 10000); setText(tfResult, eq(answer, a) ? answer : "(shortened) " + a); } catch e { setText(tfResult, "(Error) " + getInnerMessage(e)); } setText(lblTiming, (sysNow()-time) + " ms"); } }))); //swing { addActionListener(cbBot, r { print("sel=" + cbBot.getSelectedItem()) }); } }