解决因焦点转移到其它组件,导致在 JFrame 中捕获不到键盘按键事件问题的方法
来源:互联网 发布:安卓手机性能优化 编辑:程序博客网 时间:2024/04/28 07:05
如果在 JFrame 里面放了 JButton,那么焦点就到了按钮上,导致 KeyEvent 之类的事件JFrame捕获不到。用下面的方法来解决:
/* 实现 AWTEventListener 接口。 */
public class MainFrame extends JFrame implements AWTEventListener
{
/**
* 构造器。
* @version 2010-3-16 创建构造器。
*/
public MainFrame()
{
super();
initialize();
/* 加监听,设置为只监听键盘按键事件。这里第二个参数填-1就可以监听全部事件。 */
Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);
}
/* 实现接口的方法以处理事件 */
public void eventDispatched(AWTEvent event)
{
if (event instanceof KeyEvent)
{
KeyEvent keyEvent = (KeyEvent) event;
/* 只处理按键的事件。 */
if (KeyEvent.KEY_PRESSED != keyEvent.getID())
{
return;
}
JOptionPane.showMessageDialog(MainFrame.this, "你按了键盘");
}
}
private void initialize()
{
}
}
- 解决因焦点转移到其它组件,导致在 JFrame 中捕获不到键盘按键事件问题的方法
- ListView中解决因CheckBox导致的焦点问题
- 关于一个view焦点转移时响应按键事件的问题
- 使用PopUpWindow导致Activity组件获取不到焦点问题
- 解决使用工具栏组件时控件焦点事件的问题
- 如何在程序中模拟键盘的按键事件?
- 解决开机时因静电导致鼠标、显示屏和键盘无法工作的问题
- 在BindingSource组件的事件中捕获异常的注意事项
- jquery onblur事件中调用focus方法获取不到焦点问题
- 捕获键盘按键的示例
- wxWidgets经典问题——主窗体收不到按键事件的最终解决
- 安卓TimePicker在当前页面通过按键事件切换焦点的方法
- js捕获键盘按键值,并且实现焦点切换
- 解决文本框在updatepanel中得到焦点,输入法不能切换到中文的问题
- 主窗体收不到按键事件的最终解决
- 完美解决Android的EditText因回车键失去焦点问题
- Android 解决因未捕获异常而崩溃的问题
- Android 解决因未捕获异常而崩溃的问题
- hibernate笔记(二)ORM基础
- pdf如何放大打印
- 基础知识
- 中、小尺寸TFT-LCD系统时序控制模块的设计
- 进阶
- 解决因焦点转移到其它组件,导致在 JFrame 中捕获不到键盘按键事件问题的方法
- 男人(不)成熟的N个标志
- Fedora12 内核升级 2.6.31 升级到2.6.33
- 外部采访Facebook, Myspace, twitter,youtube, windows live/gmail/yahoo contact API
- note of cisco
- 手机辐射危害盘点:可降低男性精子活性
- 搜索技术
- note of HuaWei
- 如何通过HOOK改变windows的API函数