【问题标题】:Convert Java Swing to web-based Application将 Java Swing 转换为基于 Web 的应用程序
【发布时间】:2011-03-29 10:08:05
【问题描述】:

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

【问题讨论】:

    标签: java swing web-applications


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      提供给我们的另一个链接是SwingWeb。不过没查过。

      会及时通知您。如果您遇到可行的解决方案,请分享。

      【讨论】:

      • 从哪里获得Mia Transformer?在网站上我不明白如何找到、下载和使用它..
      • 截至 2018 年,Mia Transformer 似乎与一个项目一样死气沉沉:它已从 Mia Software 网站上消失,而我在网络上任何地方都能找到的唯一参考资料就是这个堆栈溢出答案! SwingWeb 至少仍然可用,但最后一个稳定版本是在 2006 年,最后一个 beta 版本是在 2007 年。
      【解决方案3】:

      对于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 应用程序的熟悉且有效的工具。

      【讨论】:

        【解决方案4】:

        实际上有一个神奇的工具可以用来将桌面应用程序转换为网络应用程序:AjaxSwing

        但请注意,它只能转换非常简单的摇摆应用程序。如果您使用复杂的渲染器,您可能无法获得正确的结果。而且它不是免费的。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          【解决方案6】:

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

          【讨论】:

          • 截至 2018 年看起来不太乐观:最后一次更新 2014-02-21,并宣传“以开发基于 Swing 的应用程序的方式开发基于 Web 的 AJAX 应用程序”,而不是实际的替代品。
          【解决方案7】:

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

          以下是他们github的摘录

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

          JetBrains Projector

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

            • 欢迎来到 StackOverflow!由于链接的使用很有用,还请考虑解释或提供一些上下文,例如使用示例,说明为什么提到的答案对 OP 有帮助。
            【解决方案9】:

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

            【讨论】:

            • Applet 已从许多浏览器中停用。这不是一个好的解决方案。
            • Webstart 也已从 JDK 中删除,但仍可用作 openwebstart.com
            猜你喜欢
            • 1970-01-01
            • 2015-10-16
            • 2012-09-03
            • 1970-01-01
            • 2012-04-05
            • 1970-01-01
            • 1970-01-01
            • 2018-12-04
            • 2020-07-12
            相关资源
            最近更新 更多