【问题标题】:Challenges in upgrading desktop application in Swing to JAVAFX将 Swing 中的桌面应用程序升级到 JAVAFX 的挑战
【发布时间】:2014-08-22 17:56:13
【问题描述】:

我有一个用 java Swing 开发的电信桌面应用程序 (EMS)。它是过去 10 年开发和维护的旧应用程序。现在,我们计划使用 javaFX 技术更新 GUI 页面,以获得更好、更干净的外观和感觉。

我经历了各种堆栈溢出讨论,说明 javaFX 和 Swing 之间的区别。考虑到以下限制,请有人帮助我了解升级到 javaFX GUI 的挑战:-

-应用需要部署在Unix、Solaris、HPUX、MAC和window 7/8 OS

-一些第三方 jars 也与 JRE 一起使用

-当前支持的 JRE 是 java 7

-可能有支持安卓/苹果/黑莓手持设备的计划

-我们不是使用数据库来进行持久化,而是使用实时数据来显示。

【问题讨论】:

    标签: javafx


    【解决方案1】:

    此答案基于问题的详细限制,并不是对 Swing to JavaFX 端口的一般评论。这个答案的某些部分不可避免地会过时,也许很快就会过时。

    鉴于您的限制,您无法将应用程序升级到 JavaFX。

    Solaris 和 HPUX 不是用于 JavaFX 的 supported deployment platforms,这不太可能改变。

    让 JavaFX 在 Solaris 或 HPUX 上工作的唯一方法是使用不受支持的配置,例如在 Solaris 或 HPUX 上运行 VirtualBox VM 作为主机操作系统,并在 VM 中运行受支持的操作系统,例如 RedHat 6 或 Oracle Linux 6,然后在受支持的操作系统中运行您的 JavaFX 应用程序 - 这可能会也可能不会。

    另外,我认为 JavaFX 不太可能很快被移植到黑莓上运行。其他移动平台有ports of JavaFX,它们适用于简单的应用程序。我还没有尝试过它们,并且认为在这个阶段针对这些端口的 JavaFX 应用程序有点实验性。此类端口不在 Oracle JVM 和 JRE 上执行,因此如果您使用外部库,它们必须与端口运行时兼容(例如 Android 开发工具包、RoboVM 库等)。

    如果您将应用程序的一部分移植到 JavaFX,我建议至少在 Java 8 而不是 Java 7 上运行。许多错误已修复,并且在 JavaFX 中为 Java 8 实现了许多新功能。特别是对于 Swing- >JavaFX 端口,JavaFX 和 Swing 的集成能力在 Java 8 中得到了改进,SwingNode。为了帮助确保您的目标系统安装了正确的运行时,您可以使用适当的 JRE 将您的应用程序打包为 self-contained application

    当然,如果你能稍微放松一下约束,还有many positive points for JavaFX

    【讨论】:

      猜你喜欢
      • 2013-05-17
      • 2019-12-24
      • 2011-12-10
      • 2012-05-22
      • 2014-10-06
      • 2011-11-21
      • 2011-04-10
      • 2013-05-29
      相关资源
      最近更新 更多