比如说: 我发送消息可以按发送按钮,也可以同时按Ctrl+C或者其它的组合键来发送...我知道怎么调用键盘事件,我只能现实只按单个键来实现发送的功能...
但现在遇到的问题是:如果是同时按多个键一起呢? 怎么实现发送呢? 

解决方案 »

  1.   


            控件.addKeyListener(new KeyAdapter()
            {
                public void keyPressed(final KeyEvent e)
                {
                    if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER)
                    {
                        System.out.println("Ctrl + Enter");
                    }
                    else if(e.getKeyCode() == KeyEvent.VK_ENTER)
                    {
                        System.out.println("Enter");
                    }
                }
            });
      

  2.   

    原来还要有这个isControlDown()方法呀? 呵呵
    那个e.getKeyCode()
    我是在事件添加个 int a = e.getKeyCode() 的
    isControlDown()方法是不是就是当Ctrl 按下时候的意思?
      

  3.   

    isControlDown()是Ctrl按下呀,呵呵,类似的isXXXDown()的方法还有好几个呢,shift  alt的都有
      

  4.   

    解决问题了!好开心!!!好谢谢你噢!..呵呵
    你这代码的意思是:  如果按下了CTRL+Enter的时候..就输出"Ctrl+Enter"
    如果按下Enter的时候, 只输出"Enter"
    对吧!
      

  5.   

    对头,呵呵,完全正确,忘了写注释了,hoho
      

  6.   

    e.getModifiers();
    返回此事件的修饰符掩码
    可以在这里判断按下的什么东西
    如果没记错的话
      

  7.   

    感谢,解决了正遇到的一个问题了。哈哈不过我记得自己之前用过(印象代码是这样的,具体我忘了):if((k.getKeyCode() == KeyEvent.VK_ENTER) && (k.getKeyCode() == KeyEvent.VK_CONTROL)){}...当时还行的,今天用就不行了。哎