Ну на самом деле все проще, используются компоненты типа Scintilla на чем сделан Notepad++, либо подобные другие библиотеки, если же хочется все равно писать, то нужен синтаксический анализатор кода, который будет разбирать весь текст и выделять/высвечивать нужные операторы
Есть библиотека на Java,
подсвечивает: ActionScript3, Bash/shell, ColdFusion, C#, C++, CSS, Delphi, Diff, Erlang, Groovy, JavaScript, Java, JavaFX, Perl, PHP, Plain Text, PowerShell, Python, Ruby, Scala, SQL, Visual Basic, XML
code.google.com/p/java-syntax-highlighter
Посмотри как в ней сделано :)