KeyListener的一些问题
来源:互联网 发布:网络推广课程 编辑:程序博客网 时间:2024/05/01 03:18
今天遇到一个问题,那就是为JFrame添加KeyListener时发现按键没反应,最后的解决方案是为JFrame设置setFocusable(true);以获取焦点。之后发现这种方法指标不治本,当点击按钮后按键又没有反应了,因为焦点转移到了按钮上,解决方法是为每个按钮都加上KeyListener,注意即使JFrame实现了KeyListener,依然需要为JFrame添加事件监听器才可以。第二个问题是KeyCode、KeyID、KeyChar都是什么意思呢? - KeyID:即事件ID,描述事件的状态 - KeyCode:键盘上每一个按钮都有对应码(Code),可用来查知用户按了什么键, 如[Shift]键code为16。 利用getKeyCode()方法就可以得知这个码,不过读者要注意,这个方法在keyTyped() 上是无法检测出来的, 因为keyTyped()只管用户输入的字符,而不会管到键盘的对应码。 因此你一定要将getKeyCode()方法写keyPressed()或keyReleased()方法中才会有效,因为这两个方法是处理比较低层的方法。 - KeyChar:处理的是比较高层的事件,返回的是每欠敲击键盘后得到的字符(中文输入法下就是汉字) - KeyModifiersText:你可以直接使用getModifiers()方法来得到modifiers参数。 这个方法是定义在 InputEvent类中,而KeyEvent继承它,因此就能直接使用这个方法。 同样,你必须将getKeyModifiersText()与 getModifiers()方法放在keyPressed()或keyReleased()方法中才会有效。
附上 键盘KeyCode值列表
0 0
- KeyListener的一些问题
- java keylistener 问题
- KeyListener
- KeyListener
- 关于KeyListener的简单使用
- setKeyListener(KeyListener)方法的妙用
- keyListener用的健值表,保留一份
- KeyListener的三个方法,而其参数KeyEvent却不同
- j2se使用KeyListener实现界面上的物体移动
- KeyListener,NumberKeyListner
- ActionListener KeyListener
- Android TV 开发有关PopupWindow的KeyListener(手机也能用)
- JComboBox注册KeyListener监听器
- WindowListener,MouseListener,KeyListener,MouseMotionListener
- JPanel 中的 KeyListener 无效
- GUI keylistener事件
- Java GUI之KeyListener
- hbm2java的一些问题
- ASCII,Unicode,GBK和UTF-8字符编码的区别联系
- 系统调用和库函数调用的区别
- hhgg
- UGUI事件机制
- Android中使用GridView和ImageViewSwitcher实现电子相册简单功能
- KeyListener的一些问题
- Handler的正确使用,使用静态内部类+虚引用,解决Context泄漏
- 线程分离
- 每日总结 (2016-12-05)
- C++中const和引用修饰变量和函数的总结
- UNIX系统编程复习笔记 一
- 商人小鑫
- 大学感悟【八】
- xutils