TornadoFX на самом деле имеет построитель фильтров, который включает в себя текстовый форматировщик:
override val root = vbox {
textfield(model.instrument) {
filterInput { change ->
change.text = change.text.toUpperCase()
true
}
}
}
Строителю требуется логическое значение, чтобы определить, является ли новый ввод действительным или нет, поэтому он может фактически принимать или отклонять ввод.