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

xianglee2009 2009-12-22 10:44:27

只是发来给大家看看的.......谢谢观赏!!!

//给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;

}

}

}
...全文
47 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xianglee2009 2010-03-05
  • 打赏
  • 举报
回复
初学,我也不太清楚的
crazylaa 2009-12-29
  • 打赏
  • 举报
回复
谢谢,jf。
hadfa 2009-12-28
  • 打赏
  • 举报
回复
可是,在窗体最小化时就不监听了啊,如果窗体隐藏了,还要监听怎么办啊??
相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2009-12-22 10:44
社区公告
暂无公告