我有一个Java桌面应用程序,其中图形用户界面已经设计了。在我们知道JavaFX replacing Swing
之后我们用JavaFX替换了图形用户界面。
“6。JavaFX是否将Swing替换为Java的新客户端UI库 SE?是。但是,Swing仍将是Java SE规范的一部分 在可预见的未来,并包含在JRE中。一方面, Swing广泛用于现有的Java桌面应用程序,但依赖 在旧建筑上,这需要一定的专业水平 和专业化。另一方面,JavaFX具有一套现代的功能 可以使用标准CSS技术进行蒙皮的UI控件。而 我们建议开发人员尽可能地利用JavaFX API 在构建新应用程序时,可以使用Swing和JavaFX 在同一个应用程序中,允许开发人员扩展现有的 Swing应用程序。“
现在我们听说Oracle将JavaFX工具包捐赠给开源社区,OpenJDK社区同意接受它。
JavaFX工具包是从Sun的F3项目演变而来的。初始 然而,发行版基于JavaFX脚本语言 2011年该工具包完全用Java重写并发布 Oracle作为JavaFX 2.0。 2011年10月甲骨文宣布它会 在11月之前将JavaFX工具包捐赠给开源社区 2011年,OpenJDK社区同意接受它。
我不认为JavaFX是稳定的。它没有快速支持。文件说明不够。当舞台关闭时,它不会释放内部存储器。我的应用程序是多线程应用程序,我的应用程序大部分时间都在更新每个单独线程的状态。本机包中的自包含JRE副本不可靠,我们必须将其替换为驻留在JDK中的JRE文件夹。
这真的令人沮丧,我想知道,如果JavaFX适合开发Java Desktop应用程序。
答案 0 :(得分:14)
根据Oracle的说法,JavaFX 是Swing的替代品:
问题6的http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6说:
JavaFX是否将Swing替换为Java SE的新客户端UI库?
是即可。但是,在可预见的未来,Swing仍将是Java SE规范的一部分,因此包含在JRE中。虽然我们建议开发人员在构建新应用程序时尽可能多地利用JavaFX API,但可以使用JavaFX扩展Swing应用程序,从而实现更平滑的过渡。
答案 1 :(得分:9)
Is JavaFX complete replacement of Swing?
我认为不是,
与Swing相比,大多数组件都是半成品(开发价格???),
JavaFX8中的实现(可通过Java8访问)有一个重点可以从JavaFX容器访问Swing JComponents,并且可以在Swing JContainers中访问JavaFX组件(在较新的JavaFX2.2中实现),
然后可以访问JavaFX以开发DeskTop应用程序
还有一个问题是,是否可以将JavaFX TextArea与Swing JTextArea一起添加到一个JPanel中,反之亦然(Panel from xxx.scene.xxx)
FX Experience上的更多(最好的信息,路线图,开发......)(有时会注意到: - )
答案 2 :(得分:-1)
此问题最初发布后的随后几年中,JavaFX技术似乎发展得很好。 Java已经按照其为期6个月的培训计划发布了,JavaFX的发布也赶在每次发布后不久就可以匹配。
Oracle已完成使JavaFX开源(称为OpenJFX)的过程。现在,代码库作为sub-project on the OpenJDK项目存在。领导权已分配给Gluon公司。
受欢迎程度和社区似乎正在增长。竞争对手已经破产,例如 Microsoft Silverlight 和 Adobe Flash 都死了。
Oracle继续支持Swing,但仅在maintenance-mode中提供。相反,JavaFX仍在不断增长和改进。
Oracle和其他供应商(例如Azul Systems)一样,都销售对JavaFX的支持。
一些提供Java实现的供应商将JavaFX / OpenJFX库与JVM捆绑在一起。其中包括带有 ZuluFX 产品的Azul Systems和带有 LibericaFX 产品的BellSoft。
尽管目前是最先进的,但仍在使用ahead-of-time compilation和GraalVM使用OpenJFX为iOS和其他平台构建本机应用程序的工作。
请参阅: