java - 用于桌面应用程序的Swing vs JavaFx

我有一个非常大的程序,目前正在使用SWT。 该程序可以在Windows,Mac和Linux上运行,它是一个包含许多元素的大型桌面应用程序。现在SWT有点老了我想切换到Swing或JavaFX。 我想听听你对三件事的看法。

我主要担心的是桌面GUI应用程序会有什么好处? (我在网上看了很多人都认为JavaFX和Swing一样好,但除了简单的意见火焰战争之外我没有看到很多有效的论据)。 它必须适用于Windows,Mac和一些流行的Linux发行版。

什么更干净,更容易维护?

从头开始构建什么会更快?

我在我的应用程序中使用MVC方法,如果有任何帮助的话。

6个解决方案

140 votes

什么更干净,更容易维护?

在所有条件相同的情况下,可能是JavaFX - API在各个组件之间更加一致。 但是,这更多地取决于代码的编写方式,而不是用于编写代码的库。

从头开始构建什么会更快?

高度依赖于你正在建设的东西。 Swing有更多的组件(第三方以及内置)并且并非所有组件都已经进入新的JavaFX平台,所以如果你需要一些东西,可能会有一定数量的重新发明轮子 有点习惯。 另一方面,如果你想做转换/动画/视频内容,那么这在FX中更容易。

要记住的另一件事是(也许)外观和感觉。 如果您绝对必须拥有默认的系统外观,那么JavaFX(目前)无法提供此功能。 对我来说不是必须的(我更喜欢默认的FX外观),但我知道有些政策要求限制系统风格。

就我个人而言,我认为JavaFX是“即将到来”的UI库,它

java fx 和swing_java - 用于桌面应用程序的Swing vs JavaFx相关推荐

  1. 一款全新的平面UI套件,专门用于桌面应用程序

    At-ui:一款全新的平面UI套件,专门用于桌面应用程序,由Vue.js 2.0制作而成. [Github star:1099]. 转载于:https://www.cnblogs.com/zxk562 ...

  2. 用Java开发桌面应用程序(Swing开发GUI程序)

    前面学过了面向对象基本概念.面向对象基本特征.Java基本包和API:异常.多线程.IO等. 基本概念 Swing:java中的一个包,负责开发GUI程序 GUI:图形用户界面,一般指可视化桌面系统中 ...

  3. )类 新建javafx程序时_关于JavaFX杂谈

    Sun公司已于2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发互联网应用程序(RIA).该产品于2007年5月在JavaOne大会上首次对外公布.Java ...

  4. 用于构建集成式桌面应用程序的新指南和新工具(转载于MSDN)

    发布日期: 2006-10-30 | 更新日期: 2006-10-30 Christian Thilmany 和 Jim Keane 本文将介绍以下内容: • CAB 和 Smart Client S ...

  5. java cuba_CUBA平台–用于快速应用程序开发的开源Java框架

    java cuba 传统上,自计算时代开始以来,企业软件开发自然面临着一个挑战,当时自然而然地,企业软件开发本应专注于解决实际的业务问题,但与此同时,开发人员必须在技术上花费大量时间和精力.解决方案的 ...

  6. CUBA平台–用于快速应用程序开发的开源Java框架

    传统上,自计算时代开始以来,企业软件开发自然面临着一个挑战,当时自然而然地,企业软件开发本应专注于解决实际的业务问题,但与此同时,开发人员必须在技术上花费大量时间和精力.解决方案的一面,例如架构和通用 ...

  7. Java桌面应用程序

    java桌面应用印象 因为桌面程序运行在宿主机器上, 所以比如你运行java桌面程序,必然要安装java虚拟机, 也就是相当于在操作系统上再加一层抽象, 这与直接调用api的桌面程序效率相比,或多或少 ...

  8. 用于桌面虚拟化和远程访问图形要求苛刻的 CAD、EDA 应用程序的高级解决方案

    OpenText™ Exceed™ TurboX 提供成本节约.高清显示和增压共享 2D 和 3D 图形应用程序的卓越性能远程访问: 全球团队的强大协作: 高级安全和集中管理: 从Microsoft® ...

  9. java 网站转app_java – 将现有Web应用程序转换为桌面应用程序

    我在这里看到了关于这个主题的一些其他类似问题,但是他们没有太大帮助所以我提出了这个问题. 将合理大小的简单Web应用程序转换为基于Java桌面的PC和Mac客户端的最快方法是什么?不幸的是,由于各种原 ...

最新文章

  1. 关于无线节能组无线电能输出功率测量
  2. laravel cookie加密解密原理
  3. 第四篇:mysql管理工具
  4. Android --- 数据库存储的是正确的时间格式(2021-06-17 21:47:23)但是在获取的时候变成了(2021-06-17T13:47:23.000+00:00)
  5. 10月了,聊聊我今年参加秋招的真实感受
  6. 有关怎么在不创建新的按钮的前提下改变返回按钮的标题
  7. C语言数据结构(大话数据结构——笔记1)数据结构绪论、算法、线性表
  8. JZOJ__Day 9:【普及模拟】算法学习(sfxx)
  9. 【JUC系列】Java的锁机制
  10. Win的phpstudy安装VC报错
  11. Bind 9.5安装入门指南
  12. iOS-----------关于组件化
  13. python中调用是什么意思_在Python中调用函数的含义?
  14. python3识别条码_python3转换code128条形码的方法
  15. 【英语学习】【WOTD】abstruse 释义/词源/示例
  16. scala下使用akka计算圆周率pi
  17. 使用SQLyog创建表
  18. 马蹄疾 | 2019年,是时候认真学一波 Grid 布局了
  19. HMC——Hamiltonian Monte Carlo笔记
  20. android 限制后台进程,Android O Preview 相关-后台执行限制

热门文章

  1. Golang之HTTP server 502问题分析
  2. 惩罚性赔偿金是根据什么来定的
  3. 惊了!库克年薪近1亿美元,是苹果打工仔的1447倍
  4. Spring Cloud Alibaba 微服务开发实践
  5. MSYS2环境使用记录
  6. 接口开发详细步骤总结
  7. [附源码]Java计算机毕业设计SSM花田音乐网站
  8. Axure中继器的使用
  9. oracle dump有条件导出导入,含参数文件导入导出
  10. Verilog学习笔记