<AI>
JavaFXのWebView上のクリックを検出し、該当行の内容を取得するには、
JavaScriptとJavaを連携させるブリッジ機能(WebEngine.executeScriptなど)を利用するのが一般的です。

具体的な実装方法は以下の通りです。

1. Java側での実装
WebViewにJavaScriptのインターフェースオブジェクトを登録し、クリック時にそのメソッドを呼び出すように設定します。

java
// Java側:ブリッジ用のクラスを作成し、WebViewに登録する
public class JavaBridge {
    public void showRowContent(String rowContent) {
        System.out.println("クリックされた行の内容: " + rowContent);
    }
}
// WebViewの読み込み完了時に登録
webEngine.getLoadWorker().stateProperty().addListener((obs, old, newV) -> {
    JSObject window = (JSObject) webEngine.executeScript("window");
    window.setMember("javaBridge", new JavaBridge());
});

2. HTML(WebView側)の実装
HTMLの onclick イベントで、登録した javaBridge を経由してJavaメソッドを呼び出し、テキストを渡します。

html
  • 内容1
  • this.innerText を使用してクリックされた要素のテキストを取得し、Javaに渡すのが一般的です。 ⚠️ 注意点 JavaFX 11以降のモジュールシステム環境下では、リフレクションを許可するためにVM引数へ以下が必要となる場合があります: --add-opens javafx.web/com.sun.webkit=ALL-UNNAMED