在Java中按下按钮进行轮询

dir*_*ion 1 java worldwind

我有一个基于Java SDK的WorldWind应用程序构建.它有一个很好的事件处理程序,用于检测您何时单击对象,但我遇到了障碍.虽然我可以单击并选择单个对象,但我无法确定用户是否在单击时按下控制键(如果他们想要选择多个对象).我可以为鼠标和键盘实现事件处理程序,但我不能为我的生活弄清楚如何将两者结合在一起.如何让我的鼠标监听器轮询系统以获取当前按下的键列表?

sta*_*man 5

您可以调用getModifiers()并按位比较以查看控件键(或者在事件期间是否按下了shift键).

public void mouseClicked( MouseEvent e ) {
  if( ( e.getModifiers() & ActionEvent.CTRL_MASK ) > 0 ) {
     // Control key depressed
  } 
}
Run Code Online (Sandbox Code Playgroud)