我想知道如何在Java客户端应用程序中嵌入类似浏览器的浏览器,同时我可以通过JavaScript与它进行交互。 触发此问题的问题如下:
我的应用程序的界面包含一个(谷歌)地图和一些svg的东西。 这在浏览器中很容易实现。 但是,我还需要访问一些特殊的Java库,这些库可以处理来自地图的一些信息(例如,地图中的某些坐标),并且可以回答应该影响浏览器视图的值(例如,应该在地图上绘制路径)
我的第一个想法是将Java端行为实现为REST Web服务,因此我将从JavaScript调用此Web服务,发送有关地图的相关信息并使用答案更新地图。然而,对于我目前的需求(这只是一个原型),使用webservices有点过多的基础设施。
我有没有办法:
我发现了有关如何在swing应用程序中嵌入浏览器的其他问题(例如Embedding web browser window in Java),而JDIC似乎能够做到这一点。虽然有些人报告很难让它在OSX(我使用的操作系统)中运行,但没有提到是否可以通过JavaScript与浏览器进行交互。
在我看来,在Android中可以从Java(Android)端进行JavaScript调用,因此在普通Java中也可能这样做。
感谢任何指针!
答案 0 :(得分:2)
如果您可以使用swt,请查看SWT Browser widget
对于javascript,您可以使用 http://www.mozilla.org/rhino/
答案 1 :(得分:2)
使用Java FX 2,您可以。你在那里得到一个webkit webview。可以使用java< - > javascript来回与它进行交互。
有关嵌入谷歌地图的示例,请参阅:http://java-buddy.blogspot.se/2012/03/embed-google-maps-in-javafx-webview.html
如果您不想使用100%JavaFX,可以使用JFXPanel嵌入java fx。