<AI>
JavaFXのWebView内で文字のカーソル位置(または文字座標)を取得するには、
JavaからJavaScriptを実行するexecuteScriptメソッドを利用します。

文字の相対インデックス(何文字目か)を取得する
選択状態やフォーカスがある要素の情報を、
JavaScriptの getSelection() や selectionStart で取得してJava側に戻り値として受け取ります。

java
WebEngine engine = webView.getEngine();

// JSを実行してカーソルの開始位置(文字数)を取得する
Object result = engine.executeScript(
    "var selection = window.getSelection();" +
    "if (selection.rangeCount > 0) {" +
    "    var range = selection.getRangeAt(0);" +
    "    var preRange = range.cloneRange();" +
    "    preRange.selectNodeContents(selection.anchorNode);" +
    "    preRange.setEnd(range.startContainer, range.startOffset);" +
    "    preRange.toString().length;" + // ここで先頭からの文字数を計算
    "} else { -1; }"
);

int caretPosition = ((Number) result).intValue();
System.out.println("現在の文字位置: " + caretPosition);

画面上のピクセル座標(X,Y)を取得する
画面上におけるカーソルの物理的なピクセル座標が必要な場合は、getBoundingClientRect() を使用します。
java
// 画面上のカーソル位置(X, Y)を取得する
Object xResult = engine.executeScript("window.getSelection().getRangeAt(0).getBoundingClientRect().left");
Object yResult = engine.executeScript("window.getSelection().getRangeAt(0).getBoundingClientRect().top");

double x = ((Number) xResult).doubleValue();
double y = ((Number) yResult).doubleValue();

System.out.println("カーソルの座標: X=" + x + ", Y=" + y);

注意点
この方法は、ページ内の input 要素や textarea 要素内、
あるいは contenteditable 属性が付与された編集可能領域(リッチテキストエディタ等)に対してのみ有効です。
Worker.State が SUCCEEDED になり、ページの読み込みが完全に完了した後にJavaScriptを実行してください。

詳細は OracleのJavaFXドキュメント の executeScript の項をご参照ください