【发布时间】:2013-02-28 01:23:21
【问题描述】:
我有一个 Java 桌面应用程序,其中图形用户界面是在摇摆中设计的。在我们知道JavaFX replacing Swing 之后,我们已经用JavaFX 替换了图形用户界面。
"6. JavaFX 是否正在取代 Swing 作为 Java 的新客户端 UI 库 东南?是的。然而,Swing 仍将是 Java SE 规范的一部分 在可预见的未来,并包含在 JRE 中。一方面, Swing 广泛用于现有的 Java 桌面应用程序,但依赖于 在旧架构上,这需要一定程度的专业知识 和专业化。另一方面,JavaFX 具有一组现代的 可以使用标准 CSS 技术进行皮肤设置的 UI 控件。尽管 我们建议开发人员尽可能多地利用 JavaFX API 在构建新应用程序时,可以使用 Swing 和 JavaFX 在同一个应用程序中,允许开发人员扩展现有的 Swing 应用程序。”
现在我们听说甲骨文将 JavaFX 工具包捐赠给开源社区,OpenJDK 社区已经同意接受。
JavaFX 工具包是从 Sun 的 F3 项目演变而来的。最初的 版本基于 JavaFX 脚本语言,然而,在 2011 年,该工具包完全用 Java 重写并由 Oracle 作为 JavaFX 2.0。 2011 年 10 月,甲骨文宣布将 将 JavaFX 工具包捐赠给开源社区,并在 11 月之前 2011 年 OpenJDK 社区已经同意接受它。
我不认为 JavaFX 是稳定的。它没有快速支持。文档解释性不够。当阶段关闭时,它不会释放内部存储器。我的应用程序是多线程应用程序,我的应用程序大部分时间都在更新每个单独线程的状态。本机捆绑包中 JRE 的自包含副本不可靠,我们必须将其替换为驻留在 JDK 中的 JRE 文件夹。
这真的令人沮丧,我想知道 JavaFX 是否适合开发 Java 桌面应用程序。
【问题讨论】:
-
如果您愿意分享您提到的不足(稳定性、缓慢的支持等)的具体实例,那将会很有趣。
-
Swing 多年来一直没有发展。即使 JavaFX 现在并不坚如磐石,我相信它是 Java GUI 的未来。例如,它将在 ARM 上的 JVM 8 上运行。开发应用程序时是否值得单独调试/等待补丁的痛苦?这取决于您,如果您想立即使用它:您是早期采用者(有优势),我希望 JavaFX 8 将成为每个人都希望的完整“稳定”版本。就是说,我没有遇到很多人认为 Swing 是未来的 Java GUI:每个人都认为它正在消亡,对大多数人来说它是遗留技术。