重量级组件是指具有本地等同组件的组件,基本上位于AWT目录下,轻量级组件则是与平台无关的组件,基本位于Swing目录下。

解决方案 »

  1.   

    转一篇我朋友写的文章:awt使用的是对等组件方式。也就是说,每个awt组件对等与系统的一个组件。
    在产生一个awt组建的时候,同时在后台产生对应的系统组建。swing不是这样,只有容器产生对等组件。而容器中的控件不产生对等组件
    举个例子:
    awt:
      如果在一个frame中有200个TaxtField作为一个表格,那就会产生201个awt组建和201个系统组件。swing:
      如果一个Jframe中有200个JTaxtField作为一个表格,那会产生200个swing组建和1个awt组建或者是swing组建(视你的容器使用的是awt/swing而定),而产生多少个系统组件呢?一个!对,就是那个容器产生组建了!
    呵呵,所以说swing是轻量级的。还有,对显示一个组件来说,如果用系统组建显示,则耗费的系统资源是大于同等功能的swing组建的。当窗体中容纳许多组建的时候,swing的这种系统开销优越性就会明显的得以发挥