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

最佳答案

您可以调用getModifiers()并按位比较以查看事件期间是否按下了控制键(或Shift键)。

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

09-10 05:50
查看更多