C09(AWT的事件处理)

    技术2022-05-11  76

    描述Adapter类的概念说到Adapter类的概念,首先不得不说的首先是Java的事件处理机制,写出的图形界面是没有事件响应,空有一些组件填充到Frame里面,没有实际意义,为每一个组件编写事件响应,然后通过Jdk1.2以后的响应机制,也就是委托机制,使其响应相应的组件完成动作,委托机制是在编写组件后,为该组件添加事件监听器,当发生该组件上的事件后,注册的事件监听器会找到响应的处理方法去处理,有些组件会出现不同的事件,被Java的设计者封装到不同的事件响应接口里,这里可以做一个响应,这个响应类实现了该组件的所有响应动作,也可以为每一个响应接口做不同的实现类,然后以次的为该组件添加事件响应。上面提到了,Java的设计者在编写事件响应的时候,为了给用户最大的空间,所有的事件响应都编写为接口,也就是它只是为程序员提供了一个框架,剩下的要程序员自己来完成,如果你要完成该组件的事件监听,就必须要实现该事件响应接口(addxxxListener方法后写的参数是该接口类型),所以程序员要编写一个类,去实现该接口,有时候程序员编写接口的时候,并不是要用到所有接口包含的方法,而有些接口的方法却有很多,前面已经学习过,Java当中的类必须要实现所有接口中的方法,那么有时候这反而变成了一个繁琐的事情,设计模式给出了一个很好的解决办法,就是Adapter类,Java的Adapter类实现了所有该适配器的接口的所有的方法,并且方法体都为空,这样,程序员在编写的时候,只需要完成适配器的继承,然后找到想要完成的事件处理方法,覆盖该方法,就可以了,而不需要像前面说的那样,完成对每一个方法的实现,这样在传递参数的时候,填上该类的对象,或者直接实例一个该类就可以完成对象的监听了。

    根据事件对象的细节来确定产生事件的用户动作对于不同的事件,Java的设计者为其归类,编写到不同的接口里,每个接口都有与接口名相关的操作,这是便于程序员使用的地方,但是某些事件源有两个或者更多的接口,当为组件添加了这些监听器后,对于不同的事件,Java为其找到正确的处理方法。 


    最新回复(0)