比如Ctrl的虚拟键码为 VK_CTRL
而他的键盘掩码是CTRL_DOWN_MASK能讲讲他们之间的区别和联系吗?你是怎么理解的?谢谢

解决方案 »

  1.   

    虚拟键码是比较正统的东西键盘掩码没听过,sun自己定义的东西吧?
     
      

  2.   

    虚拟键码是KeyEvent静态常量
    键盘掩码是InputEvent的静态常量KeyEvent.getKeyCode()返回的就是虚拟键码InputEvent.getModifiers() 返回的是键盘掩码比如同样是 CTRL
    前者是 VK_CTRL 后者是 CTRL_DOWN_MASKWHY?
      

  3.   

    我是这么想的java还要用在unix等非windows上面
    而虚拟键码貌似针对windows的
      

  4.   

    InputEvent是KeyEvent的父类,是所有组件级别输入事件的根事件类,包含键盘事件和鼠标事件。CTRL_DOWN_MASK 表示CTRL的掩码,你可能得到这个掩码从一个键盘输入时间或一个鼠标输入事件。VK_CTRL 只是KeyEvent对CTRL设置了一个虚拟键码以表示CTRL被输入,按下或释放。一般来说你在处理键盘的事件是,你可以用CTRL_DOWN_MASK或者VK_CTRL,但在处理鼠标事件时就只能用CTRL_DOWN_MASK。
      

  5.   

    KeyEvent怎么没有定义VK_CTRL  ???VK码用来处理KeyEvent,而MouseEvent没必要有,所以VK全在KeyEvent中定义那MASK码为什么要在InputEvent中定义,干嘛不放在MouseEvent中?+InputEvent
              └ KeyEvent
              └ MouseEvent