在看JFC核心技术时对其中的两句话理解不了
1“直接子类化Component创建的控件称为轻量级控件”
疑问:子类化是指派生与它吗?如果是的话那么包括AWT和SWING不都是直接或间接派生与Component的吗?那这样起不是所有的组件都是重量级的了吗?2“大部分SWING组件都派生与JComponent,它是Component的一个子类,所以大部分的SWING都是轻量级的”
疑问:Window和JComponent一样也是间接派生与Component,为什么Window和下面的组件是重量级的?

解决方案 »

  1.   

    不依赖本地gui的swing组件称为轻型组件,就是不必使用具体平台的本地gui来绘制。我们都知道awt这种组件是基于平台的,对多种平台兼容性不会。awt是属于重量级的。
      

  2.   

    AWT组件都有一个本地Peer,Swing组件是建立在AWT之上的。Swing几乎都是轻量级组件。顶层容器:JWindow JFrame JApplet JDialog等除外。AWT重量级组件在它们自己的本地不透明窗口中绘制。相反,轻量级组件没有本地对等组件,在它们的重量级容器的窗口中绘制。
      

  3.   

    SWING都是轻量级的
    因为没有import javax.swing.*的;
    是因为swing是在awt的基础上,进行了全新的理念设计,开发出来的GUI工具包,
    解决不同平台,一样的形状大小。
    类和方法都比awt丰富,
    比awt强大,
    但Listener是要用到import java.awt.event.*;的,
    这样一来就没有import javax.swing.*了;
    swing强大的一面还要用到awt,
    所以swing没有awt的沉积程序多,所以就轻了..
      

  4.   

    凡是都有特例吗,不过管它是什么级的,对开发有影响吗,这个叫什么还不都是sun公司叫的,想要知道,到时候查api,什么级的都知道了
      

  5.   

    你们说的这些我都知道
      我问的不是为什么是轻量或重量级我问的是什么叫直接子类化Component,和派生与Component有什么区别
      

  6.   

    直接子类化Component,就是component的第一级子类
    派生是方法与Component是组件,没什么关系
      

  7.   

    按照你的说法那Container不是Component的第一级子类吗?那COntainer就是轻量的吗?
    那JComponent和Window也是Container的第一级子类,那么他们都是轻量?