Linhas em JTextArea

Existe uma maneira confiável de calcular como uma string é dividida em linhas em JTextArea?

Eu tenho uma JTextArea com largura fixa e quando ela é preenchida, uma nova linha é adicionada e se expande verticalmente.

Agora, preciso saber exatamente quais caracteres estão em qual linha. Eu poderia adicionar larguras de caracteres únicas usando métricas de fontes, mas não sei se isso é confiável ou se pode haver um método melhor.

As métricas de fonte são "truques" da única maneira?

questionAnswers(2)

yourAnswerToTheQuestion