将Java Swing转换为基于Web的应用程序

时间:2011-03-29 10:08:05

标签: java swing web-applications

我有Java swing应用程序。我想转换为Web基础应用程序。什么是最简单的方法? 有没有可用的工具,最好是开源代码?

9 个答案:

答案 0 :(得分:15)

有一个新的开源项目webswing.org。它是一个Web服务器,您可以在其中部署swing应用程序。应用程序通过websockets呈现为html画布,因此您可以在桌面上获得完全相同的外观。

答案 1 :(得分:10)

AjaxSwing是一个运行时工具,需要服务器许可证才能用于商业用途。

您可能想尝试Mia Transformer - 网站的部分是法语 - 。他们将Swing Java代码更改为GWT Java代码,GWT将其更改为Javascript,然后如果您需要,可以使用Google V8编译器更快地执行。当然不是100%。我们将尝试一个大型项目,看它是否有效。

提供给我们的另一个链接是SwingWeb。但是没有检查出来。

会让你发布。如果您遇到可行的解决方案,请分享。

答案 2 :(得分:7)

对于Java程序员the Vaadin framework非常类似于Java Swing。

在架构上,Vaadin和Swing应用程序当然完全不同(web与桌面),但由于Vaadin应用程序中的UI逻辑在服务器端(在JVM中)运行,因此Swing应用程序中的所有Java类和应用程序逻辑通常是完全可重用的。您可以在hello-world sample中看到事件 - 潜水编程模型与Swing的相似程度。

此外,Vaadin有效地隐藏了Java应用程序编程人员的所有Web特定细节(html,css,rpc,...),使其成为将旧Swing应用程序转换为现代HTML5 Web应用程序的熟悉而有效的工具。

答案 3 :(得分:6)

实际上,您可以使用一种神奇的工具将桌面应用转换为网络应用:AjaxSwing

但请注意,它只能转换非常简单的swing应用。如果使用复杂的渲染器,则可能无法获得正确的结果。它也不是免费的。

答案 4 :(得分:3)

您可以考虑 Java Web Start 它没有转换应用程序,但您可以将您的应用程序用作基于Web的...

答案 5 :(得分:1)

此工具:http://sourceforge.net/projects/j-wings/是Swing的API兼容替代品,但在servlet引擎中运行呈现为HTML。

答案 6 :(得分:0)

正如Vinod所说,Java Web Start是最简单的方法。另一种方法是将应用程序转换为可以从网页运行的Applet。

答案 7 :(得分:0)

我知道已经晚了,但是Webswing允许您在Web浏览器中运行Java Swing应用程序。

答案 8 :(得分:0)

对于当前的访问者,Jetbrains拥有一台名为Projector的新型开源投影仪,可用于渲染Web中的Swing应用程序,他们也正使用它来渲染其Intellij IDE。

下面是他们的github摘录

Projector是一种无需任何窗口系统即可运行Swing应用程序并在本地或远程访问它们的方法。

JetBrains Projector

该项目仍处于孵化阶段。但是我尝试将其与他们的IDE一起使用,并且效果很好。