zoukankan      html  css  js  c++  java
  • 事件源与监听器

    事件:描述发生了什么的对象。

      存在各种不同类型的事件类用来描述各种类型的用户交互。

      事件源:事件的产生器。

      事件处理器:接收事件、解释事件并处理用户交互的方法。

     

      比如在Button组件上点击鼠标会产生以这个Button为源的一个ActionEvent,这个ActionEvent实例是一个对象,它包含关于刚才发生的那个事件的信息,这些信息包括:

      getActionCommand():返回与动作相关联的命令名称。

      getWhen():返回事件发生的时间。

      如果用户在用户界面层执行了一个动作(鼠标点击和按键),这将导致一个事件的发生。

     当单击一个按钮时,就会产生一个事件(ActionEvent),然后检查是否有与该按钮关联的事件处理器(实际上是一个方法),

      如果没有,那么什么都不执行;

      如果有的话,就会将该事件传递给与该按钮关联的事件处理器方法,作为该方法的参数,之后该事件处理方法就会自动得到调用,并且该方法可以使用传递过来的ActionEvent对象,进而获得事件发生时与该事件及事件源相关联的那些信息。

      Java中的组件若想添加事件处理器,都会使用形如addXxxListener()的方法来添加。一个事件源可以添加多个监听器。

     

    委托模型的优点

      事件不会被意外地处理。

      有可能创建并使用适配器(adapter)类对事件动作进行分类。

      委托模型有利于把工作分布到各个类中。

  • 相关阅读:
    CodeForces1214B
    CodeForces1214A
    LuoGuP4551最长异或路径
    GXOI2018 滚粗记
    [BZOJ 4818/LuoguP3702][SDOI2017] 序列计数 (矩阵加速DP)
    [LuoguP3808] 【模板】AC自动机(简单版)数组版
    [NOIP 2016D2T2/Luogu P1600] 天天爱跑步 (LCA+差分)
    [CF160D]Edges in MST (最小生成树+LCA+差分)
    [Luogu P2891/POJ 3281/USACO07OPEN ]吃饭Dining
    [BZOJ 2287/POJ openjudge1009/Luogu P4141] 消失之物
  • 原文地址:https://www.cnblogs.com/zeroro/p/3695598.html
Copyright © 2011-2022 走看看