学习Java界面编程是选择Swing还是JavaFX?

JavaFX自学笔记(一) JavaFX 自学笔记 JavaFX 平台取代了 Swing 和 AWT 主要用于开发富因特网应用 JavaFX 可以无缝地在桌面或者WEB浏览器中运行 JavaFX 为支持触摸的设备提供多点触控支持 JavaFX 具有内建的 2D、3D 动画支持,以及视频和音频的回放功能,可以作为一个应用独立运行或者在浏览器中运行 基本架构 一个 Stage 对象是一个窗体,程序启动时,一个被称为主舞台的 Stage 对象由 JVM 自动创建 JavaFX 应用剧院的类比来命名 Stage 和 Scene,可以 阅读详情
AI摘要

本文探讨了Swing和JavaFX这两种Java GUI框架的发展现状。Swing虽已停止新特性开发但仍广泛应用于现有项目,而JavaFX作为后起之秀,凭借其现代UI设计和跨平台能力逐渐成为新项目的首选。

        Swing

        

  JavaFx

 

一、就目前而言,Swing还远未消亡,Java FX也没有像多年前的答案所暗示的那样取而代之。Java FX不再是标准Java的一部分,而Swing是每个Java Runtime发行版的一部分。建议使用Swing是因为它在所有平台上都非常快速和健壮。

二、计划只对Swing进行错误修复。Swing在传统意义上并没有被弃用,在可预见的未来仍将继续提供支持,只是没有新特性。

三、大多数现有的GUI java代码都是基于Swing,并且很可能会一直保持这种状态,直到代码基腐烂,没有人再维护它。

四、大多数新的GUI java代码基使用JavaFX,它是Java8中Swing的替代品,现在是标准java库的一部分。它允许插入使用 CSS ,HTML5元素,还有一个非常好的FXML (XML/HTML的一种方言),它允许非程序员使用FXML处理GUI布局等。

五、Swing仍然被大量使用,并且将在很长一段时间内继续使用——毕竟,在很长一段时间内,它是Java的唯一选择。然而,JavaFX令人耳目一新,非常值得学习。

六、Java在2011年的JDK1.7中引入了新的swing类 (Java 7 – javax.swing——JDK版本1.7中引入的类和接口),不过在Java 8中没有继续引入新的类。而在Java9以及后续的版本中,Swing已经不再更新,只进行必要的维护。我这边想要表达的是,人们对这项技术的兴趣已经枯竭,但它仍然在使用。有些公司还在使用Swing和SwingX。

七、目前还有一些值得注意的Swing应用:

(1). NetBeans IDE和IntelliJ IDEA,它们都是IDE和富文本客户端平台。

 (2).Oracle SQLDeveloperBut。

看起来Eclipse(软件)平台已经赢了——作为Android开发的原生平台,以及各种供应商和开源栈的Java EE开发平台。所以,Swing 以及 Swt并没有死,但如果没有多少人再使用它,它可能就不值得进行维护了。

八、JavaFx目前非常好,旧的默认AWT和Swing的“金属”皮肤看起来并不怎么样,但是Swing仍然是制作跨平台GUI的最好方法。这项任务的替代方案不一定好得多。如果你能够为每个平台编写本地gui,你将会得到更好的结果。不过话又说回来,现在大多数Gui都是浏览器中的一堆JavaScript。是的,如果你注意就会发现这样一个事实,现在的许多桌面软件都是JavaScript来制作的,而不是Java。

九、如果你在学习AWT、Swing还是JavaFX之间犹豫不决,那么你应该知道Swing提供了比AWT更丰富的组件集。Swing中的几乎所有类都继承自AWT中的类。但是因为JavaFX的设计目的是取代Swing而作为Java SE的标准GUI库,所以JavaFX在很多方面都优于Swing。如果你想为Android编写一个Java应用程序,同时也让它在Windows Mobile和iOS上运行。允许你这样做的产品只有JavaFX。

十、综合来看,Java Swing 因为过去源码遗留的原因,以及作为JDK标准库的一部分,在未来使用 Swing的人数仍将不少,如何你需要简单编写一个界面程序,使用Swing将比较方便。再一个,由于JavaFX 目前已经从JDK标准库中移除,如果你必须使用JavaFX,则需要下载相关的JavaFX包,或者使用Maven进行构建,在进行专业界面应用开发商,JavaFx仍然是不二的选择。

以上内容最后编辑于2022年9月21日08:02:06

145. Swing 与 JavaFX 比较 Swing和JavaFX是Java两大GUI框架,各有特点。Swing作为轻量级工具包,基于纯Java实现,提供跨平台一致性,采用MVC架构和可插拔外观,适合传统桌面应用开发。JavaFX则是现代化框架,支持硬件加速、FXML声明式UI和多媒体功能,适用于需要丰富视觉效果的场景。历史演进上,Swing已进入维护阶段,而JavaFX成为官方推荐选择。架构方面,Swing强调MVC和EDT线程模型,JavaFX采用场景图渲染和CSS样式支持。 阅读详情

相关推荐

java程序通过swing调用javaFx更新 数据

执行优先级关系,java无法直接调用javaFx,试过通过反射等方法都不好用,最后使用SWing中转实现和javaFx互操。首先创建SWing调用javaFX类import javafx.application.Platform; import javafx.beans.value.ObservableValue; import javafx.concurrent.Worker.State; im...

1346

告别Swing,拥抱JavaFX

JavaFX是一种用于创建丰富、交互式的客户端应用程序的图形用户界面(GUI)工具包。它是由Oracle公司开发和维护的,是Java SE 8及更高版本中内置的一部分。JavaFX可以用于桌面应用程序和企业级应用程序的开发,支持图形、媒体、Web、脚本语言等多种功能,并提供了丰富的UI控件和布局方式,使得开发人员能够以简单而直观的方式创建复杂的用户界面。

谷哥的小弟 6677

Swing和JavaFX:使用JFXPanel

我很快将不得不在基于Swing的胖客户端中处理JavaFX –哦,对不起,我的意思是“多层富客户端”! 因此,这使我来看看JFXPanel 。 JFXPanel是一个javax.swing.JComponent,用于将JavaFX内容嵌入到Swing-UI中。 JFXPanel的用法类似于JPanel,并且可以通过EDT作为通用Swing组件进行访问,除了必须通过JavaFX应用程序线程...

最佳 Java 编程 2004

java11删除javafx,JavaFX正式从JDK中移除

从JDK11的发布开始,JavaFX已经不被包含在JDK中了。在JDK11的release notice中可以看到,当前JavaFX需要单独下载。当前JavaFX新增加了官方网站:https://openjfx.io/,暂时内容都不够丰富,只有JavaFX11运行的简单教程。据介绍,JavaFX 11是在JDK 11的基础上,但又是一个独立的组件。虽然可以通过使用JavaFX SDK或者mave...

weixin_33481663的博客 9426

Java的Swing被JavaFX取代了

JavaFX是Oracle在Java平台上推出的一种富客户端应用程序开发框架,它在功能和外观方面更加先进和强大,逐渐取代了过时的Swing框架。它提供了丰富的用户界面控件和功能,并支持多媒体、图形和动画等特性,使得开发者能够构建更具吸引力和交互性的桌面应用程序。方法中,我们设置了主窗口的标题,并创建了一个按钮和一个栈面板。最后,我们创建了一个场景,并将场景设置为主窗口的场景,设置了窗口的大小,并显示主窗口。与Swing相比,JavaFX提供了更现代化和美观的用户界面控件,支持更丰富的布局容器和样式。

CyberSparkZ的博客 3540

【项目实战】Java事件处理机制(JavaFX + Swing)入门介绍

【项目实战】Java事件处理机制与“恋爱关系”

奶爸的编程之路,也就一周冷个三天 2862

盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!

大家好啊,今天栈长给大家分享下我的开发历程中,我知道的那些被淘汰的技术或者框架,有些我甚至都没有用过,但我知道它曾经风光过。 废话不多说,下面我要开始吹了…… 1、Swing 下面这个是用 swing 开发的: 图来源网络,有没有似曾相识的感觉?懂的自然懂! 栈长去年中秋也用过 swing: 这个中秋,我用 Java 画了一个月饼! Swing 算是 Java 早期代替 AWT 的桌面应用 GUI 开发工具包,一个听到就已经淘汰的技术,给我的感觉就是丑丑丑!现在与 AWT 一起在时间这个长河里长眠。 如果

Java技术栈,分享最主流的Java技术 5382

Java电影票购买系统:完整实战指南

在某些情况下,系统内部的业务逻辑错误需要自定义异常来处理。例如,当尝试更新一个不存在的订单时,我们可以抛出一个。// 在业务逻辑代码中抛出异常通过合理地使用自定义异常,我们可以将业务逻辑错误和系统错误区分开来,使错误处理更加清晰和精确。为了确保系统的健壮性,在实际开发过程中,我们还需要结合测试来保证各个功能模块的正确性。这将在后续章节中进行详细讨论。

weixin_36064575的博客 870

学习Java界面编程选择Swing,而不用JavaFX的理由及学习路线资料

【【Java项目】不到一小时用Java做出贪吃蛇小游戏(附源码资料)超详细java游戏开发】【【拯救者】Swing界面速成(基础+实战)javaGUI】【Java Swing 图形界面开发(目录)】我仅从个人使用体验方面阐述理由,不涉及技术。

菜鸟一枚。 2580

Java应用程序界面美化实战:基于Swing与JavaFX的皮肤定制开发

Nimbus 最强大的地方,是允许你通过Painter<T>接口深度定制组件外观。比如你想给面板加个科技蓝渐变背景,只需几行代码:@Override});// 注册到Nimbus从此以后,所有JPanel都会自动带上你设计的渐变背景!金融软件常用的深蓝科技风、医疗系统偏好的柔和绿调,都可以这样轻松实现。graph TD图:Nimbus中自定义背景绘制流程JavaFX 的皮肤机制比 Swing 更加灵活。每个控件(Control)通过方法返回一个。

weixin_35756624的博客 830

静止无功补偿SVG的基本控制原理

上图是自励单变量控制框图,基本控制方式为,采集计算得到负载无功电流和SVG输出的无功电流的差值,经过PI调节作为功率角δ和固定的调制深度λ和调制波,经过PWM调制形成开关信号驱动SVG的功率电路。该控制方式使保持调制深度λ(即SVG电压的幅度)不变,通过调整δ来调整直流电压和无功,跟踪输出无功功率,直流电压就会大幅度随动,无功相应速度较慢。SVG通常有他励方式和自励方式,他励方式需要提供外部的直流电源,自励方式通过电网输出有功功率至SVG建立SVG的直流电压。δ为Us和Uc之间的相角差。

weixin_42668920的博客 1991

Java中的图形用户界面编程:Swing与JavaFX的比较与应用

Swing是Java提供的基于组件的GUI工具包,属于Java Foundation Classes(JFC)的一部分。它提供了丰富的界面组件(如按钮、文本框、列表框等),并且支持跨平台的特性,可以在各种操作系统上运行。Swing使用轻量级组件(Lightweight UI Components),所有的组件都是纯Java代码实现的。

微赚开发者技术分享博客 4092

共封装光学(CPO):下一代互联革命

Nvidia:产品:Quantum-X Q3450(115.2T,144×800G,2025H2上市)、Spectrum 6800(409.6T,512×800G,2026H2上市);技术路线:TSMC COUPE封装、MRM调制器、光栅耦合、外部激光源(Lumentum/Ayar Labs供应);战略定位:以横向扩展CPO验证供应链,最终聚焦纵向扩展场景(Feynman架构)。

存储随笔 4968

【UI编程】Java AWT/Swing/SWT/JavaFX杂谈

Java界面编程粗略介绍,解开Java是否合适做桌面重程序的心结。

曲折旅程,艰难人生 3429

vue3的面试题

vue3的面试题

jiang7701037的博客 6267

【强化学习】11 —— Double DQN算法与Dueling DQN算法

可以看到由于数据点的分布,使得拟合出的价值函数无法与真实的价值函数吻合,甚至在部分区域产生了明显的偏差。Dueling DQN 是 DQN 另一种的改进算法,它在传统 DQN 的基础上只进行了微小的改动,但却能大幅提升 DQN 的表现。这样,即使其中一套神经网络的某个动作存在比较严重的过高估计问题,由于另一套神经网络的存在,这个动作最终使用的值不会存在很大的过高估计问题。.在同一个状态下,所有动作的优势值之和为 0,因为所有动作的动作价值的期望就是这个状态的状态价值。环境的状态包括倒立摆角度的正弦值。

sinat_52032317的博客 1万+

javafx和java swing_Java写GUI用swing还是JavaFX呢?

Java写GUI用swing还是JavaFX呢?作者:夏诗皓链接:https://www.zhihu.com/question/37236236/answer/75909071来源:知乎著作权归作者所有,转载请联系作者获得授权。果断JavaFX,因为Swing这个框架已经很久没有更新过了。那些按钮控件都是几年前的样子(其实就是丑,当然也有好处,速度会比JavaFX快呢么点,毕竟是写好的控件)。而且...

weixin_39542043的博客 7222

PD虚拟机网络初始化失败的权限修复指南

本文针对Parallels Desktop虚拟机常见的“网络初始化失败”问题,提供了详细的权限修复指南。通过分析问题根源,指导用户安全备份并修改关键的`network.desktop.xml`和`dispatcher.desktop.xml`配置文件,以恢复PD虚拟机的网络连接。文章还包含了修复后的验证步骤及预防措施,帮助用户彻底解决并避免此类权限问题。

qqq44的博客 851

如何在Java中实现高效的图形用户界面:从Swing到JavaFX

对于新的项目,JavaFX是一个更现代和功能丰富的选择,而对于现有的Swing项目,逐步迁移到JavaFX可以为应用程序带来更好的用户体验和性能优化。Swing是Java Foundation Classes(JFC)的一部分,提供了丰富的GUI组件库,如按钮、文本框、列表等。在这个示例中,我们创建了一个基本的Swing窗口,并在窗口中添加了一个按钮。在这个示例中,当用户点击按钮时,将弹出一个信息对话框。将一个Swing按钮嵌入到JavaFX应用程序中,这使得从Swing到JavaFX的过渡变得更加平滑。

微赚淘客系统开发者博客 1809

2023电视专用!安卓电子相册APP避坑指南(附开源代码)

本文针对2023年智能电视用户,提供安卓电子相册APP的避坑指南与实战教程。文章详细解析了电视端相册应用的常见广告与兼容性陷阱,并指导用户如何安全获取、部署纯净的APK应用,通过核心设置实现无广告的个性化图片轮播体验,最终打造专属的家庭回忆墙。

weixin_29012677的博客 495

RK3568平台开发系列讲解:内核启动流程

第 493 行的 ENTRY 指明了了 Linux 内核入口,入口为stext,stext 定义在文件arch/arm/kernel/head.S 中 , 因此要分析Linux 内核的启动流程,就得先从文件arch/arm/kernel/head.S 的 stext 处开始分析。_mmap_switched 定义在文件 arch/arm/kernel/head-common.S,__mmap_switched 最终会调用 start_kernel 函数。⑥、r2=atags 或者设备树(dtb)首地址。

内核笔记 217

如何在Java中实现高效的图形界面设计:从Swing到JavaFX的比较

而Swing的渲染是基于Java2D的,虽然可以创建复杂的UI,但在性能和外观上不如JavaFX。Swing是Java标准库中的图形用户界面工具包,作为AWT(Abstract Window Toolkit)的扩展,Swing提供了更丰富和灵活的组件。JavaFX提供了更多的功能和更好的性能,适合构建复杂和高效的用户界面。JavaFX虽然是Java SE的一部分,但在较新的Java版本中,可能需要额外的模块或库支持。JavaFX是一个现代化的图形用户界面工具包,提供了更丰富的功能和更高的性能。

微赚淘客系统开发者博客 1971

宇树G1机器人遥控器音频控制实战

本文介绍了宇树G1人形机器人遥控器控制音频播放的核心实现方案。通过DDS消息订阅获取遥控器输入,采用非阻塞的subprocess调用aplay命令控制外接音响设备。系统支持播放、暂停和重播功能,采用50ms轮询间隔实现实时响应。关键点包括遥控器初始化、音频进程管理(Popen)、退出机制。文章还提供了设备配置指南、遥控器按键说明和常见问题解决方案。该方案从复杂音频播放器中提炼出核心控制逻辑,可作为机器人交互开发的参考模板。

m0_47999117的博客 542

Java工具16-Java构建GUI应用:使用JavaFX与Swing

Java GUI开发指南:Swing与JavaFX对比与实践 本文对比了Java两种主流GUI开发框架:Swing和JavaFX。Swing作为成熟的轻量级组件库,提供跨平台一致性和高度可定制性,适合传统桌面应用开发;JavaFX则是现代化富客户端平台,支持硬件加速图形、FXML声明式UI和CSS样式,更适合需要复杂动画和多媒体功能的项目。文章详细介绍了两种框架的核心概念、组件体系、布局管理和事件处理机制,并通过代码示例演示了从基础应用到高级功能的开发过程,同时提供了技术选型建议和最佳实践,帮助开发者根据项

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

javafx 和swing_集成JavaFX和Swing

javafx 和swing 我刚刚完成了对使用Swing的应用程序组件的重写,现在正在使用JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件。 这是一个很大的应用程序,重写花了我一段时间,最后一切都很好,我很高兴自己做到了。 您可能想在秋千应用中执行此操作的原因 您可能想要重写Swing应用程序并将其更改为使用JavaFX,最简单的方法是通过一次更改每个组件来增量执...

最佳 Java 编程 2015

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java的Swing应用中使用JavaFX的功能

JavaFX包含了许多强大的功能,它们都是Java SE不具备的,如图表Charting,动画,媒体播放,RSS/Atom等,于是程序员常常讨论如何在Java中调用JavaFX的功能。笔者文章纯Java代码调用JavaFX的功能和JavaFX和Java之间的互操作性对此作过专题讨论。在Stephen Chin的开源项目JFXtras最新版本中, 提供了一个JavaFX的封装类,可以在SWING

混魔MJM的博客 3725

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 我们应该怎样学习Python?
下一篇: Eclipse 使用 Java19 来编写程序
莱迪娜的风声
博客等级 码龄11年 5粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莱迪娜的风声

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值