逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::

// 注册应用程序全局键盘事件, 所有的键盘事件都会被此事件监听器处理.

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;

        }

    }

}

 


 

posted on 2009-02-07 03:29 逛奔的蜗牛 阅读(910) 评论(0)  编辑 收藏 引用 所属分类: Java

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理