2

どうすればブラウザのようなビューを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でも可能です。

ポインタをありがとう!

4

2 に答える 2

2

JavaFX2を使用すると可能です。そこでWebkitWebビューを取得します。java<->javascriptを使用して前後に対話できます。

Googleマップの埋め込みの例については、http://java-buddy.blogspot.se/2012/03/embed-google-maps-in-javafx-webview.htmlを参照してください。

まだ100%JavaFXを使用したくない場合は、 JFXPanelを使用してJavaFXをSwingに埋め込むことができます。

于 2012-05-20T12:13:41.383 に答える
2

swtを使用できる場合は、SWTブラウザウィジェットをご覧ください。

javascriptの場合は、 http://www.mozilla.org/rhino/を使用できます。

于 2012-05-20T12:11:17.800 に答える