Una soluzione che mi viene in mente ora è quella di andare a scandire il testo fintanto che non trovi il carattere di fine linea.Es.
int in,fin;
in=textPane.getCaretPosition();
fin=in+1;
while( (textPane.getText(in,fin).charAt(0))!='\n' ) in=fin;fin++;
textPane.setSelected(textPane.getCaretPosition(),f in);
textPane.setSelectedColor(Color.RED);
una cosa del genere
Non so se questo codice funziona .