From c21dfe911bdbea005439e63d5cddadbb8904001e Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 24 Sep 2016 15:45:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20=D1=87?= =?UTF-8?q?=D0=B0=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/forms/samobot_chat.own | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 examples/forms/samobot_chat.own diff --git a/examples/forms/samobot_chat.own b/examples/forms/samobot_chat.own new file mode 100644 index 0000000..5f37748 --- /dev/null +++ b/examples/forms/samobot_chat.own @@ -0,0 +1,37 @@ +use "std" +use "http" +use "forms" + +chatHistory = newLabel("Чат с самоботом
") +messageField = newTextField() +sendButton = newButton("Отправить") + +messageField.onAction(::onSend) +sendButton.onClick(::onSend) +def onSend() { + text = messageField.getText() + if (length(text) == 0) return 0 + messageField.setText("") + chatHistory.setText(chatHistory.getText() + "
вы > " + text) + thread(::http, "http://annimon.com/json/bot.php", "POST", {"text": text}, def(answer) { + chatHistory.setText(chatHistory.getText() + "
бот > " + answer) + }) +} + +messagePanel = newPanel() +messagePanel.setLayout(boxLayout(messagePanel, BoxLayout.LINE_AXIS)) +messagePanel.add(messageField) +messagePanel.add(sendButton) + +mainPanel = newPanel(borderLayout(10, 10)) +mainPanel.setPreferredSize(400, 250) +mainPanel.add(chatHistory, BorderLayout.CENTER) +mainPanel.add(messagePanel, BorderLayout.SOUTH) + + +window = newWindow("Чат с самоботом") +window.setMinimumSize(200, 220) +window.setLocationByPlatform() +window.add(mainPanel) +window.pack() +window.setVisible()