从我的角度来看,JavaFX比Swing更现代,使用起来更好。
我读了一份由甲骨文员工撰写的关于JavaFX未来的文件,发现了一句话:
Oracle重申Swing和AWT仍然是Java SE的核心在所有Java SE版本和支持中为Oracle提供的技术时间表。
为什么较新的JavaSE版本支持Swing,而不支持JavaFX
这是一个商业问题。
一个答案是,他们希望能够将JavaFX发布周期与主要的JavaSE发布周期分开。尽管事实证明JavaFX遵循了新的JavaSE发布节奏。
第二个答案是,将它们分离可能会使项目治理更加简单。
但为什么是JavaFX而不是Swing?
再次,业务原因:
-
JavaFX被认为更";利基;因此,将其拆分被认为更容易接受。
-
Swing(和AWT(是旧项目中广泛使用的技术。我所说的"老"是指";成熟的"/"遗留";已经存在了20多年的项目。分离Swing更有可能破坏更多旧项目。
重大变化";中断";旧的客户代码或做法不利于Oracle的业务模式。它们惹恼了那些支付大量Java许可费的公司客户;"战略性";切换到其他语言。
-
Swing(和AWT(没有处于活跃的开发中,因此它们通常不会像JavaFX那样拖累Java SE的主进度
不管怎样,这一切都没有意义。拆分JavaFX而不是Swing的决定是几年前做出的。事情发生了。接受它。