过去 , Java 使用责任链模式来处理事件 。 例如 , 当单击按钮时 , 会生成一个事件 , 然后通过一系列组件传递该事件 , 组件链由类和接口的层次结构定义 , 事件由处理程序类捕获和处理 。 Java 1.0 版使用了这种机制 , 这与 Java 1.1 版以后的事件处理方案有很大不同 。 旧方法仍受支持 , 但已弃用 , 因此不推荐用于新程序 , 现代方法基于委托事件模型 。
委托事件模型可以由三个组件定义:事件、事件源和事件侦听器 。
事件:事件对象定义了事件源类中的状态变化 。 例如 , 与图形界面的交互 , 例如单击按钮或通过键盘在文本框中输入文本、列表中的项目选择 , 都代表了某种状态的变化 。 事件对象用于携带状态变化所需的信息 。 但是 , 并非所有事件都由用户交互引起 。 存在不依赖于用户交互的事件 , 例如计时器事件、硬件/软件事件等 。 它们自动发生 。 一旦它们发生 , 我们可以定义处理它们的过程 。
【电子商务|Java:理解和使用Java 委托事件模型】事件源:事件源是由于组件属性的某些变化而导致事件发生的对象 。 由于组件可以触发多种类型 , 因此必须将每种类型都注册到侦听器以提供合适的响应 。
事件侦听器:事件侦听器是在特定事件发生时立即通知的对象 。 事件侦听器必须定义方法来处理他们有兴趣接收的通知 。
Java 1.1 事件层次结构的处理模型促进了多个接收者订阅 。 因此 , 订阅者可以向他们所有人发送通知以响应更改或更新 。 在委托事件模型中 , 指定为事件源的类生成一个事件并将其发送给一个或多个侦听器 。 处理事件过程的责任移交给它的侦听器 。 侦听器的类在附近等待 , 只有当它被感兴趣的事件触发时才会开始行动 。 设计方案与生成事件的主应用程序逻辑巧妙地分离 。
但是 , 侦听器必须注册或同意事件源类才能接收任何通知 。 这意味着特定事件仅由特定侦听器处理 。 消除了通过 Java 1.0 的包含层次结构链的开销 。 Java 1.0 曾经使事件经过许多不处理特定事件的侦听器 , 浪费了宝贵的时间 。 鉴于委托的性质和性能问题 , 现代方法使委托变得简单、高效和有效 。
- 电子商务|淘宝将支持修改账号ID?官方客服已证实,附修改教程
- 电子商务|广告商业生态是什么?
- Java|Java:理解和使用Java 委托事件模型
- Java|俄罗斯宣布决定!美企垄断全球市场的格局,要彻底变了!
- Java|少了几百万!腾讯马化腾年薪下调:总薪酬4414万
- 电子商务|大街上遍地都是旺铺转让,实体店已无路可走?如今终于有了新风口
- 电子商务|智能版“理查德米勒”手表来了?机械风融入方程式元素,价格感人
- 像素赛博朋克风推理解谜游戏《牛车水侦探社》上线 Steam
- 电子商务|中国电商进入代理人时代
- 电子商务|轻松歼灭俄坦克分队!大疆无人机成乌军法宝,白宫感慨超级杀手锏