Есть готовые библиотеки и даже решения, как пример RichTextFX.
Если делать полностью свое и естественно минималистично по функционалу и без вникания в то как делать правильно, скажем сделать только подсветку ключевых слов и конструкций с тыканием в примитивные ошибки то можно сделать в лоб как то так.
Берешь любой удобный UI(awt\swing\jfx) и оттуда компонент реализующий Rich Text.
- ищещь ключевые слова в тексте и закрашиваешь нужным цветом
- ключевые конструкции типа скобок {}() также можно искать путем подсчета открытых и закрытых скобок
- также тупо проверять есть ли в конце строки ; и выдать ошибку и не выдавать ее если строка заканчивается открытием скобок например.
- такимже тупым способом реализуешь дальше базовые вещи, можно пойти дальше и задействовать регулярные выражения, в итоге получится нечто похожее на редактор кода.
Как делать по хорошему ответил
Сергей Горностаев