有没有办法远程查看Swing应用程序?

时间:2011-10-02 09:17:40

标签: java swing browser

我想方便地展示我的应用程序,无需携带笔记本电脑或分发混淆的Java应用程序。

有没有一种简单的方法可以在浏览器中查看我的Swing应用程序。我不一定需要命令按钮才能工作(但如果他们这样做会很好),我只是想从互联网上的任何地方看到像素。我有从JChart2D构建的图表。

编辑:屏幕在可配置的时间段后更新,典型的是15秒,但如果桌面每15秒更新一次,浏览器图片的速度要慢得多,比如1分钟,那就是好的。

编辑:我所拥有的主要是桌面应用程序,因为它是一个桌面应用程序,满足98%的要求,但如果我可以看到它或远程使用它而无需重写给我额外的2%(见1%,使用1%)。

5 个答案:

答案 0 :(得分:3)

为此目的,最近的Webswing可能是完美的。它似乎功能齐全。有一些故障,我错过了游标。唉,无论您是否愿意,远程应用程序也会显示在服务器上。

答案 1 :(得分:2)

没有太多解决方案,但最简单的方法是JNLP

JNLP是一种基于XML的技术,用于通过Web启动Java可执行文件。想象一下,您可以在应用程序中指定类路径资源(图像,JAR文件,属性,文件等),分散在Web上并提供其URL,而不是像普通Java应用程序那样依赖本地文件系统。此功能使您能够自动部署应用程序(即,安装所需的应用程序文件并正确启动它们),只需声明文件在Web上的位置即可。它比Applet容易得多,因为浏览器具有严格的权限,因此可能给你带来很多麻烦。

JNLP的一个例子是herehere

答案 2 :(得分:2)

我不认为我会推荐这个(因为它有安全隐患和防火墙问题)但是可以使用远程X11服务器运行Java / Swing应用程序。

以下是一些相关链接:

但您的Linux文档中可能有更多最新信息。

另一个想法是制作一部示范电影。

答案 3 :(得分:1)

另一种可能性(不一定是好的,但易于实现)可能是使用java.awt.Robot类。

使用此类,您可以使用#createScreenCapture(...)定期拍摄屏幕快照,然后使用javax.imageio.ImageIO将其写入磁盘。

然后可以直接创建显示此图像的HTML页面,并定期自动刷新。有点复杂和迂回,但可能让您重新使用现有的基础设施。

答案 4 :(得分:0)

VNCj(official pageSourceForge)是一个较旧的项目,它在VNC服务器上提供AWT的实现。 Swing在此之上运行。与WebSwing不同,运行VNCj时服务器上不会出现UI。

相关问题