mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 08:44:20 +03:00
25 lines
769 B
Scala
25 lines
769 B
Scala
use std, forms, functional
|
|
|
|
text = map(range(1, 16), def(x) = "line " + x).joinToString("\n")
|
|
label = newLabel()
|
|
textArea = newTextArea(text)
|
|
textArea.addCaretListener(def(event) = updateInfo())
|
|
textArea.addDocumentListener(def(type, event) = updateInfo())
|
|
updateInfo()
|
|
|
|
def updateInfo() {
|
|
text = "Text length: " + textArea.getText().length
|
|
text += ", lines: " + textArea.getLineCount()
|
|
selectedText = default(textArea.getSelectedText(), "")
|
|
if (!selectedText.isEmpty()) {
|
|
text += ", selected: " + selectedText.length
|
|
}
|
|
label.setText(text)
|
|
}
|
|
|
|
window = newWindow("JTextArea example")
|
|
window.add(newScrollPane(textArea), BorderLayout.CENTER)
|
|
window.add(label, BorderLayout.SOUTH)
|
|
window.setSize(300, 200)
|
|
window.setLocationByPlatform()
|
|
window.setVisible() |