刚入门java不久,总结下自己在事件监听机制中的学习心得。
以前总觉得java中关于Swing组件的事件监听很难理解,通过做一些小项目,加深了一些理解,看来代码只有写出来才是自己的(之前看视频时,总觉得自己理解了,当自己动手时才发现无从下手)。
个人觉得事件监听首先要先明确几个概念。一、事件源:通常来说一般是用户触发该事件源会产生一个事件,如鼠标,按钮和键盘;二、事件:如鼠标被按下,就会产生一个鼠标被按下的事件 对象(java底层会自动产生该对象,我们只要处理即可)三、监听器:如当鼠标被按下时,需要作出相应处理,这时就先要注册鼠标的监听器(MouseListener),在该监听器中写出自己相应的处理方式。
明确这几个概念后,应该就可以总结出实现监听的步骤了。一、创建自定义的监听类,该类中实现相应接口或继承适配器类。如需要鼠标监听就实现MouseListener接口,当然java中大多数事件监听器接口会有很多方法(实现接口就必须其中所有的方法,而有些方法我们可能不需要)。这时我们可以继承相对应的适配器类,然后根据自己的需求重写需要实现的方法如MouseListener接口中相对应的适配器类为MouseAdapter(若接口中超过3个方法以上,java一般都会有该接口相对应的适配器类。***Listener对应的就为***Adapter)。
二、在接口中重写处理方法。这里就实现我们需要的处理方法,如鼠标被按下时作出的处理就在该方法中重写。
三、为事件源注册监听,指定监听器。一般格式为:事件源.add***Listener(自定义监听类对象,即监听者)。如要为一个按钮添加一个活动监听:button.addActionListener(new MyActionListener()),其中MyActionListener为自定义监听类。
我想:只要弄清楚了这些基本步骤,事件监听应该就没什么问题了。