Libraryless. Click here for Pure Java version (2713L/18K/62K).
!747 !awt { !named thread m { static JLabel botName; static JTextField tfDest, tfInput, tfOutput; static JCheckBox cbSign; static S currentPort; p { makeAndroid3("Quick Talk Window 2."); showFrame("Quick Talk", stack( "Destination (bot name/address):", tfDest = new JTextField("remote"), "Bot name:", botName = new JLabel("(filled in later)"), cbSign = new JCheckBox("Sign"), "Your input (Enter to send):", tfInput = new JTextField(), "Bot answer:", tfOutput = new JTextField())); onFocusLeave(tfDest, runnable { inquire(); }); onEnter(tfDest, runnable { send(); }); onEnter(tfInput, runnable { send(); }); } static void setBotName(S name) { botName.setText(name); } static void inquire() { go(false); } static void send() { go(true); } static void go(final boolean send) { tfOutput.setText("Connecting..."); thread "sending" { try { final DialogIO io = findBot(tfDest.getText()); if (io == null) { tfOutput.setText("Bot not found..."); setBotName(""); ret; } try { tfOutput.setText("Greeting..."); // get main name S name = firstPartOfHelloString(io.readLine()); // optionally get name of sub-bot io.sendLine("your name"); S line = io.readLine(); if (!eq(line, "?")) name = line; setBotName(name); if (!send) { tfOutput.setText(""); ret; } line = tfInput.getText().trim(); boolean sign = isChecked(cbSign); if (line.startsWith("s/")) { line = line.substring(2); sign = true; } if (sign) line = format3("signed: *", signWithComputerID(line)); tfOutput.setText("Sending..."); io.sendLine(line); final S output = io.readLine(); tfOutput.setText(output != null ? output : "?"); } finally { io.close(); } } catch (Throwable e) { e.printStackTrace(); tfOutput.setText(e.toString()); } } } }
Began life as a copy of #1001760
download show line numbers debug dex old transpilations
Travelled to 15 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, teubizvjbppd, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1001787 |
Snippet name: | Quick Talk Window 2 |
Eternal ID of this version: | #1001787/1 |
Text MD5: | e41b894b02bc9d42f0a296cf425bc481 |
Transpilation MD5: | 4640dbaea1ce3418e019823959532ef9 |
Author: | stefan |
Category: | javax |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2015-11-19 21:14:38 |
Source code size: | 2357 bytes / 91 lines |
Pitched / IR pitched: | No / Yes |
Views / Downloads: | 745 / 1186 |
Referenced in: | [show references] |