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()