A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mulua 中级黑马   /  2013-6-20 17:37  /  1045 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么awt是重量级的而swing是轻量级的呢???

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
java.Awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。
javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件
其实所谓的重轻就是对本地操作系统的依赖性;Awt依赖性较强,好比一个在windows下用awt做好的界面,在其他系统下界面可能不一样{:3_68:}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报

awt和Swing是java设计GUI用户界面的基础,与awt的重量级不同,Swing中的大部分是轻量级组件,Swing几乎无所不能,不但有各式各样的组件,而且更为美观易用。所以一开始使用awt的程序员很快就转向使用Swing了,但是因为Swing是架构在awt之上的,没有awt就没有Swing,所以说awt还是有用的。
1,AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。
2,SWING()Swing 是一个为Java设计的GUI工具包。 Swing 是JAVA基础类
的一部分。 Swing 包括了图形用户界面 (GUI) 器件 如:文本框,按钮,分隔窗格和表。
一句话说明,AWT几乎是重量级组件,SWING几乎是轻量级组件。
  轻量组件首次出现在AWT1.1版本中。AWT最初只包括与本地对等组件相关联的重量组件,这些组件在它们自己的本地不透明窗口中绘制。
  相反,轻量组件没有本地对等组件,而且在它们的重量容器的窗口中绘制。
  由于轻量组件不在本地不透明的窗口中绘制,因此,它们可以有透明的背景。透明的背景使显示的轻量组件可以是非矩形的,虽然所有组件 (重量的或轻量的)都基于一个矩形边框。
  Swing组件几乎都是轻量组件,那些顶层容器:窗体、小应用程序、窗口和对话框除外。
  因为轻量组件是在其容器的窗口中绘制的,而不是在自己的窗口中绘制的,所以轻量组件最终必须包含在一个重量容器中。因此,Swing的窗体、小应用程序、窗口和对话框都必须是重量组件,以便提供一个可以在其中绘制Swing轻量组件的窗口。
希望对你有解惑之用!

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马