AWT是重量级组件,平台相关
Swing包装了AWT的功能,是轻量级组件,平台不相关功能上Swing弱点,但方便很多

解决方案 »

  1.   

    说的有点歧义,Swing和AWT不是完全包装的关系
    AWT由于才有了native code的c语言成分,所以无法跨平台
    若想自行改变AWT的窗口变化,需要编写C语言native code
    不容易改动
      

  2.   

    功能上swing不比AWT弱,倒是AWT更呆板些
      

  3.   

    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包的.
      

  4.   

    一般常用的是AWT还是SWING呢?
      

  5.   

    to: bradwoo8621()     
    native方法是JVM相关的,JVM是平台相关的,这个关系我想我没说错吧
    Swing必须借助AWT实现部分功能,如平台相关的窗口、控件的实现
    Swing的平台不相关是说无论什么平台上的JDK,用的swing的包是一样的
    而AWT则不是,所以说它平台相关
      

  6.   

    to: kiOm(kiOm)
    一般是都有,不同的地方使用的东西不一样
    不要太拘泥于把它们分开
    哪个方便用哪个