java桌面应用程序和javafx有什么区别?

oka*_*obh 10 java desktop javafx

"普通"Java桌面应用程序(使用AWT或Swing)和使用JavaFX构建的Java应用程序之间有什么区别?

各有哪些优缺点?

小智 14

我想你所问的是构建JavaFX桌面应用程序与Java Swing桌面应用程序的优缺点是什么.在尝试了两者后,我可以指出一些差异:

Java Swing

优点:

  • 更好的视觉设计师和IDE支持
  • 更多功能齐全的控件
  • 适用于在数据库之上构建业务应用程序(如用户界面),而不需要标准(和第三方)控件之外的功能.

缺点

  • 多媒体支持不佳
  • 构建自定义控件或自定义外观非常困难
  • 没有动画支持
  • Java语法对于构建UI可能很尴尬.IDE使这不是一个问题,但如果你不得不手动做任何事情,它可能会变得丑陋.

JavaFX的

优点

  • 体面的多媒体支持
  • 易于构建自定义控件,并且所有现有控件都可以使用CSS进行换肤(尽管我还没有尝试过CSS).
  • 动画支持很好 - 不如flash那么好,但它足以支持基本动画.
  • 语法似乎更适合构建UI,尤其是手动编码 - 这很好,因为您需要手动编写代码.
  • 适合构建需要自定义外观的多媒体应用程序或应用程序.

缺点

  • 视觉设计师需要工作,我个人不会使用它.根据您的需要,这可能是一个很大的负面因素.
  • 仍缺乏一些控制,但这种情况正在好转.确实存在的控件似乎运行良好.
  • Swing集成存在,但他们正在努力改变引擎,以便它不再依赖于Swing.目前尚不确定使用JavaFX的Swing控件对未来有多好.所以我不会在可能的情况下避免在JavaFX中使用Swing控件.


Chr*_*ris 2

这并不是一种劣势/优势,而是了解每种产品可以提供什么以及老话“使用正确的工具完成工作”。

来自雅虎答案的答案此答案的来源

javaFX实际上是一种不同的语言(类似,但语法不同),但它运行在JVM上并且可以使用Java类。主要针对“RIA”(富互联网应用程序)开发,跨多种设备。相当多的内置功能可用于开发精美而华丽的用户界面,而无需使用 Java 等更具体(低级)的语言进行所有打字操作。

确实,“比较”有点困难;JavaFX 利用了 Java 的所有优势并在其上构建了一个用于开发 RIA 的平台。

  • JavaFX 需要 JVM;但仅仅拥有 Java 并不意味着您就拥有了 JavaFX。
  • 因此,JavaFX 本质上并不是 Java 的一部分。
  • 因此,任何不支持 Java 的平台都不会支持 JavaFX(例如 iPhone、iPad)。
  • 请注意,iPhone 和 iPad 也不支持 Flash,这是该领域的类似竞争对手。(……也许 Flex 或 Silverlight 是竞争技术的更好例子……)

来源:
Javafx wikiepdia
javafx 概览
javafx 主页 类似的 stackoverflow 问题