当前位置: 首页 > 知识库问答 >
问题:

JavaFX是否完全取代了Swing?

徐高懿
2023-03-14

我有一个Java桌面应用程序,其中的图形用户界面是用Swing设计的。在我们知道JavaFX取代Swing之后,我们已经用JavaFX取代了图形用户界面。

“6.JavaFX是否正在取代Swing,成为Java SE的新客户机UI库?是的。然而,在可预见的将来,Swing仍将是Java SE规范的一部分,并包含在JRE中。一方面,Swing在现有的Java桌面应用程序中被广泛使用,但它依赖于旧的体系结构,这需要一定的专业知识和专业化水平。另一方面,JavaFX具有一组现代UI控件,可以使用标准CSS技术对其进行皮肤处理。虽然我们建议开发人员在构建新的应用程序时尽可能地利用JavaFX API,但在同一应用程序中使用Swing和JavaFX是可能的,从而允许开发人员扩展现有的Swing应用程序。“

现在我们听说Oracle向开源社区捐赠了JavaFX工具包,OpenJDK社区也同意接受它。

我不认为JavaFX是稳定的。它没有快速的支持。文件解释性不够。当stage关闭时,它不会释放内部内存。我的应用程序是多线程的应用程序,大部分时间都花在更新每个线程的状态上。本机包中的JRE自包含副本不可靠,我们必须用驻留在JDK中的JRE文件夹替换它。

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

共有1个答案

杜联
2023-03-14

根据Oracle的说法,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应用程序,从而实现更平滑的转换。

 类似资料:
  • 问题内容: 1.7将Context添加到http.Request中。它会完全取代http.CloseNotify吗?我现在应该更喜欢它,而不用CloseNotify困扰吗? 问题答案: 是的,但仅限于Go 1.8+。这些API在Go 1.7中存在,但是直到Go 1.8客户端断开连接才导致请求的上下文完成,因此在Go 1.7中仍然有效使用CloseNotifier。 (来源:我在标准库中添加了“上下

  • 问题内容: Jboss Hibernate没有对SQLite的支持发表任何意见- https://community.jboss.org/wiki/SupportedDatabases2 在下面的SO中也提到了相同的内容: Hibernate + SQLite +Netbeans 您能否对此重点介绍。我想将嵌入式SQLite与Hibernate一起用于秋千桌面应用程序。 我也在评估Derby(Ja

  • 问题内容: 我在安装SciPy时遇到了麻烦,最近发现了Conda,尤其是在我正在开发的Heroku应用程序上。 使用Conda,您可以创建与virtualenv十分相似的环境。我的问题是: 如果我使用Conda,它将取代对virtualenv的需求吗?如果没有,如何将两者一起使用?是否在Conda中安装virtualenv或在virtualenv中安装Conda? 我还需要使用点子吗?如果是这样,

  • 问题内容: 一个简单的问题,我可以想象将redis代替mysql用于各种Web应用程序:社交网络,地理位置服务等吗? 问题答案: IT中没有什么是不可能的。但是有些事情可能变得极其复杂。 对于诸如全文搜索之类的东西使用键值存储可能会非常痛苦。 而且,据我所知,它缺乏对大型集群数据库的支持:因此在MySQL上,如果数据库中的Gb增长超过100 Gb,则没有问题;在Redis上,…这将需要更多的努力:

  • 问题内容: 我知道文档说明该对象是线程安全的,但这是否意味着从所有方法对其进行的所有访问都是线程安全的?因此,如果我一次从多个线程中调用它,并且一次在同一实例上调用它,会不会发生什么不好的事情? 问题答案: 快速答案是肯定的,它们是线程安全的。但是不要让它在那里… 首先,一个小的内部管理是一个接口,任何不是线程安全的实现都将破坏书面合同。您包括的链接是指,它具有一定的灵巧性。 您包含的链接引起了一

  • 我在Spring中构建了一个REST API。所以到目前为止,我只有阅读服务(GET)。为此,我使用Spring HATEOAS添加了引用子元素的链接。 现在我想添加一些书写REST服务。通常在REST服务中使用DTO,然后将这些DTO映射到域模型。 所以我的问题是:我们能像下面的例子那样使用Spring HATEOAS的资源,而不使用DTO吗?还是资源用于其他用途,而我仍然需要DTO?