给Java的整个程序加上全局快捷键, 而不受限于是哪个组件得到焦点.

// 注册应用程序全局键盘事件, 所有的键盘事件都会被此事件监听器处理. Toolkit tk = Toolkit.getDefaultToolkit(); tk.addAWTEventListener(new MyAWTEventListener(), AWTEvent.KEY_EVENT_MASK); class MyAWTEventListener implements AWTEventListener { private boolean controlPressed = false; private boolean cPressed = false; @Override public void eventDispatched(AWTEvent event) { if (event.getClass() == KeyEvent.class) { // 被处理的事件是键盘事件. KeyEvent keyEvent = (KeyEvent) event; if (keyEvent.getID() == KeyEvent.KEY_PRESSED) { keyPressed(keyEvent); } else if (keyEvent.getID() == KeyEvent.KEY_RELEASED) { keyReleased(keyEvent); } } } private void keyPressed(KeyEvent event) { if (event.getKeyCode() == KeyEvent.VK_CONTROL) { controlPressed = true; } else if (event.getKeyCode() == KeyEvent.VK_C) { cPressed = true; } if (controlPressed && cPressed) { // 当Ctr + C 被按下时, 进行相应的处理. System.out.println("Ctr + C"); } } private void keyReleased(KeyEvent event) { if (event.getKeyCode() == KeyEvent.VK_CONTROL) { controlPressed = false; } else if (event.getKeyCode() == KeyEvent.VK_C) { cPressed = false; } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值