chenniao22 2009-05-25 12:08
浏览 440
已采纳

请问java中事件机制是一种什么设计模式?

DX们好,

比如给一个Button 添加一个Listener 到事件触发 执行方法 , 用的是哪种设计模式
[b]问题补充:[/b]
那么再请问 假如我Click了一个Button,onClick()这个方法是怎么被调用到的呢?

是什么流程? 还是搞不明白啊。 是不是设计到与操作系统的交互了呀? 通过底层的其他语言之类的?

  • 写回答

3条回答 默认 最新

  • rednaxelafx 2009-05-25 16:23
    关注

    呵呵,原来是对发出事件的疑惑。每个平台的具体实现方法不同,不过你可以假象这样的状况:
    在程序的底层有一个消息循环,专门检测各种状态,当一些状态改变时就“发出事件”。例如键盘输入会设置一个状态,程序在消息循环里看到了状态的改变,于是调用onKeyDown、onKeyUp等方法。这种与I/O相关的事件涉及到操作系统也不奇怪。
    就是说在实现图形界面的库的底层会有类似这样的循环:
    [code="c"]while (TRUE) {
    switch (message) {
    // ...
    case WM_KEYDOWN:
    onKeyDown(param);
    break;
    // ...
    }
    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员