当前位置: 网学 > 编程文档 > JAVA > 正文

监听Swing窗口的键盘鼠标事件

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
一般Apply按钮应该在用户有输入时有效,输入没有变化时无效。
为了达到这个效果,一般界面上每个输入控件要监听,并且和以前的值做比较,实现起来相当麻烦。

因为我们已有的界面是基于数据绑定,绑定到一个克隆的对象上。这样判断有没有变化就很简单,updateInput之后,比较两个对象是否一致即可。

什么时候去判断呢?在用户输入之后:捕捉键盘、鼠标事件。

拦截键盘鼠标事件目前找到两种方法:
1. Toolkit.getDefaultToolkit().addAWTEventListener(listener,eventMask);
这个方法注册全局的监听机制,无论哪个窗口。里面注册为weakHashmap,应该不用考虑垃圾回收问题。因为是全局的,不建议采用。
2. 拦截每个component自己的事件。
正常来说,如果在textbox里面打字,事件不会交给window处理。enableInputMethods(true)可以帮忙。
enable以后调用getInputContext(),取得InputContext处理。
注意,InputContext的dispatchEvent(AWTEvent)会接到各种消息,感兴趣的getID()有以下三个:

    MouseEvent.MOUSE_CLICKED
    MouseEvent.MOUSE_WHEEL
    KeyEvent.KEY_TYPED
  • 上一篇资讯: FCKEditer使用详解
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号