AWT的界面在各个系统下差距很大,swing要统一一些,我就知道这些。
等着更确切的回答。

解决方案 »

  1.   

    Package javax.swing 
    Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
      

  2.   

    swing好一些呗
    swing设计得不错,充分利用了设计模式
      

  3.   

    还有一个就是swing看起漂亮一些(相对AWT)我觉得有了AWT之后还有SWING的最主要的原因是兼容AWT
      

  4.   

    swing 号称轻量级组件,是不是在网络信息传输方面优秀点……
      

  5.   

    Swing由纯Java写成,可移植性好,外观在不同平台上相同。所以Swing部件称为轻量级组件
      

  6.   

    轻量级组件就是指:LIGHTWEIGHT COMPONENT,是指,Swing是由纯JAVA CODE所写的,因此SWING解决了JAVA因窗口类而无法跨平台的问题,使窗口功能也具有跨平台与延展性的特性,而且SWING不需占有太多系统资源,因此称为轻量级组件!!!
      

  7.   

    而AWT具有native code 的C语言成分,若想改动AWT的窗口,必须自己编写C语言的native Code,然后再搭配AWT的native code与JDK函数库,遇到不同平台时又要重新编写自己的native Code,耗时又耗资源,就称之为,heavyweight component
      

  8.   

    我觉得这个设计的失误,有了一个还有一个,这是增强了复杂性,建议各位不用学习awt,swing.
      

  9.   

    awt是先有,swing是后来扩展的,用纯java编写,灵活性和扩展性更好。
      

  10.   

    很值得学!!会swing的都是牛人!
      

  11.   

    这就是很多人有了老婆还要有情人的原因一样---情人比老婆好
    所以你问题的答案是swing 比awt好
      

  12.   

    [转载]既生 AWT,何生 Swing?在 Java 技术刚出现的初期,大家最感兴趣的 Java API 无疑地就是 AWT。一方面因为 JDK 1.0 时只有 AWT 称得上是一组完整的 application framework,其它 Java API 都比较偏向个别的 class,二方面是因为当时大家受尽了 MFC 的苦,希望能有一个比较好的替代品。 MFC 的兴盛期已过,目前余孽尚存,我很乐见这种不良的 API 逐渐雕零。Bruce Eckel 说得好:「MFC 是我经验过最糟糕的东西(MFC is the worst thing that I've experienced)」。少说重话的 Bruce Eckel 批评 MFC 其来有自,因为 Bruce Eckel 是对象导向程序设计的倡导者,而 MFC 正是对象导向设计失败的绝佳范例。相较于 MFC 的不良设计,AWT 在对象导向方面就好很多了,但是因为两者都采用 ripple 形式的 event model,所以两者在这方面很类似。在 JDK 1.1 版以后,整个 Java(包括 AWT)的 event model 改用较好的 delegation event model。 JDK 1.2 之后,Java 有了另一组 GUI 的 API,叫做 Swing。因为 Swing 是 lightweight 的 API,所以无所不能,不但有各式各样先进的组件,而且连组件风格都可抽换。Swing 出现之后,大家很快地就不太使用 AWT 了。我发现 lightweight 组件近年来大行其道,跨 Windows/unix/Linux 平台的 Qt 也是 lightweight 组件的套件。 不要以为 Swing 是用来取代 AWT 的,其实 Swing 是架构在 AWT 之上做出来的(Swing 有四个 heavyweight 组件),没有 AWT,也就不会有 Swing。Swing 的出现只是减少程序员直接使用 AWT 的机会,而不会让 AWT 消失。 不管你选用 AWT 或 Swing 来开发你的 GUI,最好不要同时使用两者,因为: AWT 或 Swing 的视觉风格差异很大,混用两者感觉不协调。 
    Swing 的组件大部分都是 lightweight,而 AWT 的组件一律是 heavyweight,两者混在一起可能会造成 Z-Order 的错乱。(请看「探究 Z-Order」一文) 
    混用 AWT 和 Swing 很可能会造成 Swing 的最佳化无用武之地,结果速度比只用 AWT 或只用 Swing 都来得慢。 
    虽然 Swing 的组件有诸多优点,但是它有一项致命的缺点 ...「慢」。许多人开发出来的 Swing 程序执行速度很慢,但是问题不见得全都出在 Swing 上面,有可能在于程序员的程序经验不足,思虑欠周所致。遇到像这样的情况,我会建议他们把程序的某些地方改写,通常效能会有明显地改进。如果这样还是不够快,那么最后一招就是把 GUI 由 Swing 改成 AWT。 最近 AWT 又变得稍微重要起来了。IA(信息家电)产品热潮逐渐兴起,许多 IA 产品上会有 JRE,能够执行 Java 程序,例如 WinCE、PalmOS、Symbian EPOC 这三大 PDA 的 OS 都有 JRE。比起桌上型计算机,掌上型的 IA 不但内存有限、CPU 不够快、屏幕小且色彩少。这类 IA 上面的 Java 程序一定要用 AWT 来设计 GUI,因为这类装置的 JRE 根本不支持 Swing 这样耗费资源的庞然大物。 总而言之,如果你: 需要快速的 GUI,或者 
    需要在 IA 上开发 Java 程序 
    那么,你应该多花一点时间把 AWT 学好。否则,你应该直接去学 Swing,会比较实际些。 本文作者:蔡学镛 
      

  13.   

    awt把其实现都交给所在操作系统平台,大大限制了JAVA的平台独立性。而SWING解除了sun在此方面的尴尬。别的原因上面已经有了!
      

  14.   

    那请问什么时候用awt什么时候用swing呢??
    我在用jb的时候都见到同时出现的。
    如:package windows;import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    .......................