2013-03-12 155 views
18

我有一个Java桌面应用程序,其中图形用户界面已经设计了摆动。我们了解到JavaFX replacing Swing后,我们用JavaFX取代了图形用户界面。JavaFX是否完全替代Swing?

“6.是JavaFX的替代秋千,对Java 新的客户端UI库SE吗?是的。但是,秋千仍将是可预见的未来的Java SE规范 的一部分,包含在JRE。一方面, Swing广泛用于现有的Java桌面应用程序,但在旧架构上依赖 ,这需要一定程度的专业知识 和专业化。另一方面,JavaFX具有一组现代的UI控件,可以我们建议开发者尽可能多地利用JavaFX API 当buildi在新的应用程序中,可以在同一应用程序中使用Swing和JavaFX ,从而允许开发人员扩展现有的Swing应用程序。“

现在我们听说Oracle将JavaFX工具包捐赠给开源社区,并且OpenJDK社区同意接受它。

JavaFX工具包从Sun的F3项目发展而来。最初的 版本基于JavaFX脚本语言,但是,在2011年,该工具包被完全重写为Java,并由 Oracle作为JavaFX 2.0发布。 2011年10月,Oracle宣布将向开源社区捐赠JavaFX工具包,并于2011年11月向OpenJDK社区同意推出。

我不这么认为JavaFX是稳定的。它没有快速的支持。文件不够说明。当舞台关闭时,它不释放内存。我的应用程序是多线程应用程序,大部分时间是由我的应用程序更新每个线程的状态。本地捆绑包中的自包含JRE副本不可靠,我们必须将其替换为驻留在JDK中的JRE文件夹。

这真的令人沮丧,我想知道,如果JavaFX适合开发Java桌面应用程序。

+4

如果你想分享特定的例子,你会提到的缺陷(稳定性,缓慢的支持等),这将是有趣的。 – 2013-03-12 13:44:33

+1

Swing多年来一直没有发展。即使JavaFX现在不稳固,我相信它是Java GUI的未来。例如,它将在ARM上的JVM 8上运行。开发应用程序时,是否值得单独调试/等待补丁的痛苦?如果你现在想使用它,这取决于你:你是一个早期采用者(它具有优势),我希望JavaFX 8将成为每个人都希望的完全'稳定'版本。也就是说,我不认为很多人认为Swing是未来的Java GUI:每个人都认为它正在消亡,对于大多数人来说这是传统技术。 – zenbeni 2013-12-11 13:31:12

回答

9
Is JavaFX complete replacement of Swing? 

我认为不是,

  • 大部分部件都是在与Swing比较(价格发展???)halfsized,

  • 实现在JavaFX8(入店带Java8)有一个重要的一点Swing JComponents可以从JavaFX容器访问,并且JavaFX Components可以在Swing JContainer中访问(在较新的JavaFX2.2中实现),

  • 那么JavaFX的将是入店的桌面应用程序开发

  • 仍然问题是,如果将有可能与Swing JTextArea中的一个加在一起的JavaFX文本区域的JPanel,反之亦然(面板从xxx.scene.xxx)

  • 更多(最好的信息,路线图,发展...)上FX Experience(通知偶尔下跌:-)

+1

但是... [Oracle说不然](http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6) – ItamarG3 2017-07-21 12:23:12

11

据甲骨文,JavaFX的为Swing的替代品:

http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6,第6题,说:

是JavaFX的更换Swing作为Java SE的新客户端UI库?

。但是,在可预见的未来,Swing仍将是Java SE规范的一部分,因此将包含在JRE中。尽管我们建议开发人员在构建新应用程序时尽可能多地利用JavaFX API,但可以使用JavaFX扩展Swing应用程序,以实现更平滑的过渡。