Bene, per chi dovesse avere il mio stesso problema, io ho risolto implementando il metodo CaretListener, il quale controlla se siamo nella posizione corretta, altrimenti sposta il cursore esattamente nella posizione corretta...
A presto...