AWT和Swing的关系

kiOm 2004-08-30 02:30:54
赐教!
...全文
169 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiOm 2004-08-31
  • 打赏
  • 举报
回复
一般常用的是AWT还是SWING呢?
bradwoo8621 2004-08-31
  • 打赏
  • 举报
回复
to: flyingbug(小兵张噶)

原理上说, AWT和Swing都可以达到你要的所有功能. 只是由于Swing的结构, 造成实现的时候用Swing方便一点.
如果自己不开发组件, Swing的功能要比AWT强很多.
AWT也是平台不相关的, 主要架构在JVM上. 如果如你所说的话, java.lang.Object里面有好多native方法, 岂不是平台相关? 那么所有的类都是继承自Object类, 岂不是平台相关? 纯Java的东西最大好处就是平台无关, 所谓native方法只是和JVM相关. 不同的系统上安装不同的JVM是可能的. 就像windows自带一个JVM一样, 但是这个里面是不包含Swing包的. 如果你从java网站上下载一个JRE, 这个是携带Swing包的.
flyingbug 2004-08-31
  • 打赏
  • 举报
回复
to: kiOm(kiOm)
一般是都有,不同的地方使用的东西不一样
不要太拘泥于把它们分开
哪个方便用哪个
flyingbug 2004-08-31
  • 打赏
  • 举报
回复
to: bradwoo8621()
native方法是JVM相关的,JVM是平台相关的,这个关系我想我没说错吧
Swing必须借助AWT实现部分功能,如平台相关的窗口、控件的实现
Swing的平台不相关是说无论什么平台上的JDK,用的swing的包是一样的
而AWT则不是,所以说它平台相关
flyingbug 2004-08-30
  • 打赏
  • 举报
回复
功能上swing不比AWT弱,倒是AWT更呆板些
flyingbug 2004-08-30
  • 打赏
  • 举报
回复
说的有点歧义,Swing和AWT不是完全包装的关系
AWT由于才有了native code的c语言成分,所以无法跨平台
若想自行改变AWT的窗口变化,需要编写C语言native code
不容易改动
flyingbug 2004-08-30
  • 打赏
  • 举报
回复
AWT是重量级组件,平台相关
Swing包装了AWT的功能,是轻量级组件,平台不相关

功能上Swing弱点,但方便很多

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧