edit Только что понял, что я обрезал то, что имеет непосредственное отношение к вопросу: я не смог найти ничего, что использовало бы TextArea для ввода и вывода; см. предложения ниже, если предложения пользовательских компонентов в порядке.
Компонент TextArea запускает событие change только тогда, когда пользователь добавляет ввод. Всякий раз, когда вы устанавливаете текстовое поле программно , событие изменения не запускается - вы можете использовать это как способ узнать, что такое ввод пользователя и «ответы» консоли, ища возврат каретки (\r
).
Я не уверен, если у вас есть требование поддерживать ввод пользователя в самой нижней строке (например, консоли), даже после того, как консоль ответит чем-то вроде автозаполнения. Если это так, то в игру должно вступить что-то более сложное (например, запоминание того, где вводится / заканчивается ввод пользователя) или необходимо пересмотреть требование однокомпонентной консоли - гладкий, но не очень всегда необходимо.