mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 00:34:20 +03:00
Пример чата
This commit is contained in:
parent
0439b719b4
commit
c21dfe911b
37
examples/forms/samobot_chat.own
Normal file
37
examples/forms/samobot_chat.own
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
use "std"
|
||||||
|
use "http"
|
||||||
|
use "forms"
|
||||||
|
|
||||||
|
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)
|
||||||
|
thread(::http, "http://annimon.com/json/bot.php", "POST", {"text": text}, def(answer) {
|
||||||
|
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()
|
Loading…
Reference in New Issue
Block a user