文本描述
更多关注 Java 大后端公众号 关注公众号,获取更多面试题及答案。 一、java事件机制 java事件机制包括三个部分:事件、事件监听器、事件源。 1、事件。一般继承自 java.util.EventObject类,封装了事件源对象及跟事件相关的信息。 com.javaedu.event.CusEvent类 Java代码 1. package com.javaedu.event; 2. 3. import java.util.EventObject; 4. 5. /** 6. *事件类,用于封装事件源及一些与事件相关的参数. 7. * @author Eric 8. */ 9. public class CusEvent extends EventObject { 10. 11. private static final long serialVersionUID = 1L; private Object source;//事件源 更多关注 Java 大后端公众号 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. } public CusEvent(Object source){ super(source); this.source = source; } public Object getSource() { return source; } public void setSource(Object source) { this.source = source; } 2、事件监听器。实现 java.util.EventListener接口,注册在事件源上,当事件源的属性或状态 改变时,取得相应的监听器调用其内部的回调方法。 com.javaedu.event.CusEventListener类 Java代码 1. package com.javaedu.event; 2. 3. import java.util.EventListener; 4. 5. /** 6. *事件监听器,实现java.util.EventListener接口。定义回调方法,将你想要做的事 7. *放到这个方法下,因为事件源发生相应的事件时会调用这个方法。 8. * @author Eric 9. */ 10. public class CusEventListener implements EventListener { 11. 12. 13. 14. 15. 16. //事件发生后的回调方法 public void fireCusEvent(CusEvent e){ EventSourceObject eObject = (EventSourceObject)e.getSource(); System.out.println("My name has been changed!"); System.out.println("I got a new name,named \""+eObject.getName()+"\" } "); 更多关注 Java 大后端公众号 17. } 3、事件源。事件发生的地方,由于事件源的某项属性或状态发生了改变(比如 BUTTON被 单击、TEXTBOX的值发生改变等等)导致某项事件发生。换句话说就是生成了相应的事件 对象。因为事件监听器要注册在事件源上,所以事件源类中应该要有盛装监听器的容器 (List,Set等等)。 com.javaedu.event.EventSourceObject类 Java代码 1. package com.javaedu.ev