今天看鼠标适配器MouseAdapter的代码,看晕了,因为它implements MouseListener,MouseListener又extends EventListener,用到的MouseEvent它extends InputEvent,InputEvent又extends ComponentEvent………………
何时是个尽头啊……我怀疑自己对接口这东西了理解方向了……高手请赐教,说明一下个中原理,小弟感激不尽!!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【kudosiyin】截止到2008-07-01 09:04:30的历史汇总数据(不包括此帖):
    发帖数:19                 发帖分:690                
    结贴数:19                 结贴分:690                
    未结数:0                  未结分:0                  
    结贴率:100.00%            结分率:100.00%            
    敬礼!
      

  2.   

    用的时候只要extends MouseAdapter或者implements MouseListener就行,别的可以暂时不用管,想必你一时半会也用不到那些
      

  3.   

    就像你自己的五官一样时刻监视这你周位的一切。有声音你能听见,有味道你能闻道,有图像你能看到一个道理。
    JAVA本身没有五官,只不过你给它加上五官了,还要告诉它到底听到看到某事以后要做什么反映罢了。
    明白点了吗?
      

  4.   

    其实有些东西你先会用就行了,等熟练了,再去弄清楚原理就行了。《深入java虚拟机第二版》这本书挺不错的,有机会看看
      

  5.   


    这与JVM的事件进程有关.JVM启动时,如果发现有SWING,AWT等组件被应用,则建立事件进程.
    事件进程监视着应用程序中所有的组件(Component),如果在Component上发生了事件,那么就会
    触发相应的事件处理方法.以上述MouseAdapter为例,当鼠标有动作时,它为什么implements MouseListener,sagezk已经在九楼说得很明了
    但是这个MouseListener必须具有处理事件的功能,否则也没有什么意义了,所以它又extends EventListener,比如是双击还是单击,是击左键还是击右键但是MouseEvent如果不能被事件线程捕获(即不能input),那么就毫无意义了,所以它又必须具有input的属性,必须extends InputEvent那么这个Event发生的目标是什么呢?是组件,那么extends了ComponentEvent就可以对组件进行动作了,这个表示的是作用的目标综上,以上所有的implements及extends的目的都是为了使事件由鼠标发生,并经过正确的路径被事件进程捕获,作用于正确的目标
      

  6.   

    1. 是 AWT 线程(而不是进程,而且不止一个线程)。
    2. AWT 线程是窗体显示出来后才启动的(而非 JVM 启动后)。