JavaFX 2 vs Swing用于纯Windows桌面应用程序

时间:2012-05-14 16:51:49

标签: swing javafx javafx-2

我需要编写一个桌面应用程序,自从我开始使用Swing以来已经有一段时间了,所以这两种技术都会有学习曲线。

使用JavaFX 2进行应用程序有什么好处吗?

2 个答案:

答案 0 :(得分:32)

4年前,我遇到了同样的问题并得出结论,我最好使用Swing,因为当时许多第三方库仍为Swing编写。此外,Sun发布的1.0版本通常有点粗糙(我在JSF 1.0和JPA 1.0上烧掉了自己: - )。

今天,许多库都有JavaFX版本,或者作为JavaFX库提供。也就是说,还有很多图书馆仍然是Swing独家。我也用JavaFX 2.0做了一些小事,看起来真的很完整。我没有遇到过任何违规行为。

除了Swing / JavaFX(以及哪一个)之外,您还需要检查要使用的外部UI库的数量。如果答案不是很多或很多都有Java FX替代品(或者很容易自己),我肯定会选择JavaFX。您还可以在JavaFX中使用Swing组件。

如前所述,JavaFX将来会弃用Swing,Oracle似乎也会在JavaFX上做出承诺(它也将是开源的)。所以我强烈推荐JavaFX。

状态更新2014年4月13日:

如果您在2年后不相信:JavaFX现在看起来绝对是现在的样子。虽然Swing可能会存在很长一段时间,但它目前处于维护模式。将大型应用程序(如IntellIJ或Netbeans)完全移植到JavaFX需要花费很多精力。对于那些大型应用程序来说,这样的大型端口目前可能不值得。

答案 1 :(得分:3)

两者都是不错的选择:

  • 如果您想要一个丰富的图形增强型应用程序,JavaFX 2.0的功能可能会非常吸引人。它旨在为您提供对用户体验和视觉效果的大量创意控制。请确保您的目标平台支持它....
  • 如果您想要在尽可能多的平台上运行的标准桌面应用程序,那么Swing可能是一个更安全的选择(因为Swing保证可用作所有现代Java发行版的一部分)。它还具有更成熟的第三方库的优势。

两者都不可能取代另一方:它们的目标用途略有不同,可能会在未来许多年内共存。