<AI>
WebView内のJavaScriptからJava側へ「行番号」「列番号」「ファイル名」を渡すには、
JavaFXの WebEngine.getJavaScriptEnabled() を有効にした上で、
JSObject を利用してJavaScriptのグローバルスコープにJavaオブジェクトをバインドします。

実装手順
1. Java側(呼び出されるメソッドの定義)
受け取ったデータ(行、列、ファイル名)を処理するクラスを定義します。
java
public class Bridge {
    // JavaScriptから呼び出されるメソッド
    public void openFilePosition(int line, int column, String fileName) {
        System.out.println("ファイル名: " + fileName);
        System.out.println("行番号: " + line);
        System.out.println("列番号: " + column);
        
        // ここにJava側の処理(エディタで該当箇所を開くなど)を記述
    }
}

2. Java側(JavaScriptとの連携設定)
WebView の初期化時に、定義したクラスのインスタンスをJavaScriptの window オブジェクトのプロパティとして公開します。

java
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import netscape.javascript.JSObject;

// WebViewとWebEngineの初期化
WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();

// Javaオブジェクトを生成
Bridge bridge = new Bridge();

// ページ読み込み完了後にバインドする
webEngine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
    JSObject window = (JSObject) webEngine.executeScript("window");
    // JavaScriptから window.javaBridge としてアクセスできるようにする
    window.setMember("javaBridge", bridge);
});

webEngine.load("ファイルのURLやHTMLパス");

3. JavaScript側(呼び出し元の処理)
JavaFX側でバインドされた javaBridge を通じてメソッドを呼び出します。

javascript
function sendLocationToFx() {
    var fileName = "main.js";
    var line = 42;
    var column = 15;

    // Java側のメソッドを呼び出す
    if (window.javaBridge) {
        window.javaBridge.openFilePosition(line, column, fileName);
    }
}

注意点Javaの公開メソッドは public である必要があります。

JSObject や getJavaScriptEnabled() などのクラスを利用するため、
プロジェクトのビルドパス・モジュール設定で javafx.web モジュールが含まれていることを確認してください。