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í;