GUI如何获得事件
   在操作系统中响应用户的处理机制是怎么样的?
   就拿鼠标事件来说
   是不是系统一直在关注着鼠标,当鼠标有左击或右击的时候,系统马上获得鼠标位置xy轴,然后检测在那里运行的应用程序是否注册了鼠标事件,如果注册了,响应时间,不然就忽略
  我是这样想的  不知道对不对

解决方案 »

  1.   

    java GUI组件的消息是由一个叫awtEventQueue的消息队列线程负责处理的,当java程序中有图形界面时该线程由虚拟机启动。
    楼主的理解大致正确。
    只是不应该说一直关注着鼠标,当鼠标有动作的时候,产生一个设备中断,此时CPU执行中断服务程序将鼠标信息从接口控制器中读入到操作系统消息队列,然后操作系统的相关服务程序将这个消息取出发送给所有可能对此感兴趣的窗口,再由各个窗口自行处理。
      

  2.   


    我现在在做交互英语  每次都要不停的点 “next” 然后切换到 ie 看网页,想一想有没有什么办法可以在不切换窗口的情况下
    使背后运行的 交互自动产生点击  “next”  ,我就不用劳心反复切换窗口了,看来是不行了,它只接收到当前的窗口。
       那有没有办法屏蔽鼠标的动作,让系统在固定的(x,y)位置产生虚拟的鼠标信号,加入到操作系统的消息队列,而不管真正额鼠标在做什么。 “简单百宝箱”  里由一个 “鼠标连击” 的工具  ,但都是跟随鼠标的,怎样才能让鼠标真正解放呢?