どうすればブラウザのようなビューをJavaクライアントアプリケーションに埋め込むことができるのか、同時にJavaScriptを使用してブラウザを操作できるのか疑問に思いました。この質問のきっかけとなった問題は次のとおりです。
私のアプリケーションのインターフェースは、(Google)マップといくつかのsvgのもので構成されています。これはブラウザで簡単に実行できます。ただし、マップからの情報(マップ内の特定の座標など)を処理でき、ブラウザービューに影響を与える値(マップ上にパスを描画する必要があるなど)に応答する特別なJavaライブラリにもアクセスする必要があります。 。
私の最初のアイデアは、Java側の動作をREST Webサービスとして実装することでした。そのため、JavaScriptからこのWebサービスを呼び出して、マップに関する関連情報を送信し、その回答を使用してマップを更新します。それにもかかわらず、私の現在のニーズ(これは単なるプロトタイプです)では、Webサービスを使用することはインフラストラクチャーとしては少なすぎます。
私ができる方法はありますか:
- ビューのようなブラウザをJavaアプリケーションに埋め込みます。
- ブラウザビューに表示されるWebページに実装されたJavaScript関数を使用して、Java側からこのビューと対話します(これらの関数は、ブラウザのようなビューでのページのレンダリングに影響します)。
スイングアプリケーションにブラウザを埋め込む方法(たとえば、JavaでのWebブラウザウィンドウの埋め込み)に関連する他の質問を見つけましたが、 JDICはこれを実行できるようです。OSX(私が使用しているOS)で動作させるのは難しいとの報告もありますが、JavaScriptを使用してブラウザーと対話できるかどうかについては言及していません。
AndroidではJava(Android)側からJavaScript呼び出しを行うことができるように思われるので、おそらくこれはプレーンJavaでも可能です。
ポインタをありがとう!