Own-Programming-Language-Tu.../examples/forms/samobot_chat.own

36 lines
1.1 KiB
Scala
Raw Normal View History

2019-01-06 18:36:53 +02:00
use ["std", "http", "forms"]
2016-09-24 15:45:16 +03:00
chatHistory = newLabel("<html>Чат с самоботом<br>")
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() + "<br><b>вы</b> > " + text)
2019-01-06 18:36:53 +02:00
thread(::http, "https://annimon.com/json/bot.php", "POST", {"text": text}, def(answer) {
2016-09-24 15:45:16 +03:00
chatHistory.setText(chatHistory.getText() + "<br><b>бот</b> > " + 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()