Obter a linha e a coluna atual de um TextArea (JavaFX)

Eu gostaria de uma forma mais eficiente de obter a linha atual de um componente javafx.scene.control.TextArea. Pois atualmente eu estou pegando o tamanho de cada linha e somando até dar no caretPosition.

Descobri que você pode facilmente obter o número da linha atual assim:

String[] linhas = ta.textProperty().get().substring(0, ta.getCaretPosition()).split("\n");
   
int linhaAtual = linhas.length;

Ou seja eu vejo quantos \n têm do início (posição 0) até o caretPosition;

Mas ainda não descobrir como pegar o número da coluna atual;

Pra descobrir o número da coluna basta verificar o tamanho da última linha;

String[] linhas = ta.textProperty().get().substring(0, ta.getCaretPosition()).split("\n");

int linhaAtual = linhas.length;

int colunaAtual = linhas[linhas.length-1].length();

Ainda tem que fazer alguns ajustezinhos mas é isso aí;