Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java应用程序中嵌入类似浏览器的视图并与之交互_Java_Javascript_Browser_Embed - Fatal编程技术网

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

在Java应用程序中嵌入类似浏览器的视图并与之交互,java,javascript,browser,embed,Java,Javascript,Browser,Embed,我想知道如何在Java客户端应用程序中嵌入类似浏览器的视图,同时通过JavaScript与之交互。 引发此问题的问题如下: 我的应用程序的界面由(谷歌)地图和一些svg组成。 这在浏览器中很容易做到。 但是,我还需要访问一些特殊的Java库,这些库可以处理来自地图的一些信息(例如,地图中的某些坐标),并回答应该影响浏览器视图的值(例如,应该在地图上绘制路径) 我的第一个想法是将Java端行为实现为REST web服务,因此我将从JavaScript调用此web服务,发送有关地图的相关信息,并使用

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

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

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

我有没有办法:

  • 在我的Java应用程序中嵌入类似浏览器的视图
  • 通过浏览器视图中显示的网页中实现的JavaScript函数从Java端与该视图交互(例如,这些函数将影响类似浏览器视图中的页面呈现)
我发现了与如何在swing应用程序中嵌入浏览器相关的其他问题(例如),并且似乎能够做到这一点。尽管有些人报告说很难在OSX(我使用的操作系统)中使用它,也没有提到是否可以通过JavaScript与浏览器交互

在我看来,在Android中,可以从Java(Android)端进行JavaScript调用,因此在普通Java中也可能这样做


谢谢你的指点

如果您可以使用swt,请查看

对于javascript,您可以使用
如果您可以使用swt,请查看

对于javascript,您可以使用

使用Java FX 2,您可以。您可以在那里看到webkit webview。可以使用javajavascript与它来回交互

有关嵌入谷歌地图的示例,请参见:


如果您还不想使用100%的JavaFX,您可以将JavaFX嵌入swing中。

使用JavaFX2您可以。您可以在那里看到webkit webview。可以使用javajavascript与它来回交互

有关嵌入谷歌地图的示例,请参见:


如果您还不想使用100%的JavaFX,您可以在swing中嵌入JavaFX。

Hi@Fahim,因此使用Rhino,我可以从java程序与SWT浏览器小部件中的JavaScript进行交互?。反过来也可能吗,例如,从JavaScript端调用Java方法?1。SWT浏览器小部件和Rhino是两个不同的概念。在swt中,您有一个嵌入式浏览器,它可以呈现html内容以向用户显示,使用rhino,您可以执行javascript代码,您可以使用这两个组件来获取所需内容,是的,在javascript中,您可以与java对象交互,请看,很抱歉,我花了一点时间才回答,Hi@Fahim,因此,使用Rhino,我可以从Java程序与SWT浏览器小部件中的JavaScript进行交互?。反过来也可能吗,例如,从JavaScript端调用Java方法?1。SWT浏览器小部件和Rhino是两个不同的概念。在swt中,您有一个嵌入式浏览器,它可以呈现html内容以显示给用户,使用rhino,您可以执行javascript代码,您可以使用这两个组件来获取所需内容,是的,在javascript中,您可以与java对象交互,请看,很抱歉,我花了一点时间才回答,Hi@Pulsar,您能告诉我,与另一个答案中提到的SWT浏览器小部件相比,使用Java FX 2的优势是什么吗?Java FX 2是新的和改进的(以及官方的)Java GUI框架,将成为JDK 8的一部分(现在已经作为JDK 7下载的一部分获得)。它与swing也很好地结合在一起。它是纯java(JavaFX1.x不是java,因为它使用的是JavaFXScript而不是java)。尽管如此,SWT是经过验证的、稳定的,JavaFX(现在是2.1版)还没有像linux上的最终版本那样广泛使用。JavaFX是富客户端java gui的未来,使用了现代原理,如场景图形和动画等。Hello@Pulsar!,在阅读了您的答案后,我花了一些时间浏览了有关JavaFX2的互联网。在我看来,许多人都同意这项技术将(最终)被HTML5所取代。你知道有没有办法用HTML5而不是JavaFX2来做我需要的事情吗?哇,这是一个大话题。。。但您已经在这样做了,因为您需要一个嵌入式浏览器。JavaFX2可以将html5作为网络视图嵌入其中,为您提供两全其美的体验。纯HTML 5意味着没有客户端应用程序,只是一个纯web应用程序。您好@Pulsar,您能告诉我使用Java FX 2比另一个答案中提到的使用SWT浏览器小部件的优势是什么吗?Java FX 2是新的和改进的(以及官方的)Java GUI框架,将成为JDK 8的一部分(现在已经把它作为JDK 7下载的一部分了)。它也与swing很好地集成。它是纯java(java fx 1.x不是因为它使用java fx脚本而不是java)。已经说过SWT是经过验证的、稳定的,JavaFX(现在是2.1版)还没有像linux上的最终版本那样普及。JavaFX是富客户端java gui的未来,使用了场景图和动画等现代原理。Hello@Pulsar!在阅读了您的答案后,我花了一些时间浏览了有关java FX 2的互联网。在我看来,许多人都同意这项技术逻辑将(最终)被HTML 5取代。你知道有没有办法用HTML 5而不是Java FX 2来做我需要的事情吗?哇,这是一个很大的主题…但你已经在做了,因为你想要一个嵌入式浏览器。Java FX 2可以将html5作为网络视图嵌入其中,prov