java - 在 Java 应用程序中嵌入类似浏览器的 View 并与之交互

标签 java javascript browser embed

我想知道如何在 Java 客户端应用程序中嵌入类似浏览器的 View ,同时可以通过 JavaScript 与其交互。 引发此问题的问题如下:

我的应用程序的界面由(Google) map 和一些 svg 内容组成。 这在浏览器中很容易做到。 但是,我还需要访问一些特殊的 Java 库,这些库可以处理 map 中的一些信息(例如, map 中的某些坐标),并回答影响浏览器 View 的值(例如,应在 map 上绘制路径) .

我的第一个想法是将 Java 端行为实现为 REST Web 服务,因此我将通过 JavaScript 调用此 Web 服务,发送有关 map 的相关信息并使用答案来更新 map 。然而,对于我当前的需求(这只是一个原型(prototype))来说,使用 Web 服务有点太多的基础设施。

有没有办法我可以:

  • 在我的 Java 应用程序中嵌入类似浏览器的 View 。
  • 通过在浏览器 View 中显示的网页中实现的 JavaScript 函数,从 Java 端与该 View 进行交互(例如这些函数会影响浏览器 View 中页面的渲染)。

我发现了与如何在 swing 应用程序中嵌入浏览器相关的其他问题(例如 Embedding web browser window in Java )和 JDIC似乎能够做到这一点。尽管有些人报告很难使其在 OSX(我使用的操作系统)中工作,并且没有提及是否可以通过 JavaScript 与浏览器交互。

在我看来,在 Android 中,可以从 Java (Android) 端进行 JavaScript 调用,因此在纯 Java 中这可能也是可能的。

感谢您的指点!

最佳答案

使用 Java FX 2,您可以做到。你在那里得到一个 webkit webview。可以使用 java<->javascript 与其来回交互。

有关嵌入谷歌地图的示例,请参阅:http://java-buddy.blogspot.se/2012/03/embed-google-maps-in-javafx-webview.html

您可以使用 JFXPanel 在 swing 中嵌入 java fx如果您还不想使用 100% JavaFX。

关于java - 在 Java 应用程序中嵌入类似浏览器的 View 并与之交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673226/

相关文章:

javascript - 在 Node.js 附加代码中使用 Nan 创建数组

image - 下载的页面大小与浏览的页面大小

java - 添加 EditText 时 Fragment 中出现 NullPointerException

JAVA 多线程一次检查多个数字的素数比单线程慢

javascript - 如何在 jQuery Ajax 中处理成功函数中传递的数据

windows - WSL (Ubuntu) : how to open localhost in browser from bash terminal

javascript - 根据当前浏览器加载一组单独的 .css 和 .js 文件

java - 如何包含依赖项目并将 jar 拆分为两个 jar?

加载场景时 JavaFX 错误

javascript - gulpfile 中的引用错误