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

请问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]

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • rednaxelafx 2009-05-25 12:18

    Observer模式吧,Button是被观察者,Listener是观察者

    评论
    解决 无用
    打赏 举报
  • iteye_19016 2009-05-25 13:11

    Listener
    监听 监视 观察

    即为 观察者模式。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题