Java:如何从本地Java桌面应用程序通信到Java Applet



我想知道是否有一种方法可以使Java桌面应用程序与applet通信,以便从桌面应用程序(通过applet)调用Javascript函数。

上下文

一方面,我有一个ExtJS应用程序(全ajax),它位于远程服务器上。另一方面,桌面Java应用程序(netbeans应用程序),它是驻留的(确实)。

我会怎么做:

每当其中一个应用程序被使用时,它都会发送事件&数据传输到其他应用。

经过一番研究,我在这里和这里看到了一些有趣的帖子,还有一个关于如何在applet之间进行通信的答案(也见这里)。

问题不在于如何跨域从applet到桌面应用程序(见这里和那里),而是如开头所说,如何从桌面java应用程序到javascript进行通信。

指出

webapp (ExtJS)是基于远程服务器的,applet也是。我可以在本地找到applet,但这意味着要部署本地web服务器。

桌面应用程序非常笨重,所以我无法将其转换为applet格式。

我放了"reverse-AJAX"标签,因为这是我要做的全局概念。

如果不使用applet (请不要使用Flash )也可以。

为了在浏览器中从Java applet调用javascript方法,您需要使用Netscape LiveConnect API,这里有一些示例。
基本上,这是一个由浏览器本地实现的API,允许java applet访问浏览器的javascript引擎。

一旦你排序好了,你需要从桌面应用程序调用applet中的方法,这有点棘手。最简单的方法可能是使用Enum交换序列化实例来描述事件的类型。

这里有一个使用套接字进行通信的例子

相关内容

  • 没有找到相关文章

最新更新