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 .