Swing和SWT背后的故事

本文揭示了Swing和SWT这两个Java GUI库的发展历程,它们源自Sun Microsystems的Swing与IBM支持的SWT。这两者各有优势,Swing提供一致的跨平台体验,而SWT则力求原生性能。深入了解这两个库如何塑造了Java桌面应用的格局。
摘要由CSDN通过智能技术生成

Swing和SWT背后的故事

在现在的Java开发过程中,Swing使用的比较广,而SWT像是被人遗忘,用的人也越来越少。

本文节选自一篇关于Swing和SWT的帖子。

Swing和SWT是采用不同的机制的,AWT是Swing的前身,实际上是调用本地操作系统的控件。由于在不同的操作系统下,提供的控件是不一样的, AWT采用最小公约数的办法,只提供所有操作系统都有的控件。但后来SUN改变了做法,在Swing里除了JFrame,JWinodows, JDialog(记不太清了,好像是这几个)是调用本地操作系统的控件,其它JPanel,JButton之类的都是绘出来的,所以Swing在所有平台 看起来都是一样的外观。这样保持了外观一致性,但牺牲了性能。
IBM 更喜欢AWT的实现机制,做出了SWT,SWT采用的是最大公倍数的做法。SWT大部分都是用的本地操作系统的控件,一些在windows里有的控件可能 在linux下没有,对这种控件才采用自己绘制的方式。SWT采用类似JAVA虚拟机的方式,在不同的平台,有不同的开发包,我们写的java代码是一样 的,但不同平台下看起来外观是不一样的,但性能提升很高,据说和C++做的界面速度差不多:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值