在Java中没有KeyEvent的情况下检测当前是否按下了某个键(CTRL)

时间:2012-08-21 17:01:06

标签: java ctrl

我需要能够在处理鼠标事件期间查看当前是否正在按下 CTRL 键。我曾尝试使用KeyListener,但由于焦点问题,尝试将鼠标事件和键事件一起使用被证明是一个问题。

我实际上要完成的是使用 CTRL 键选择多个对象,就像在Windows中一样。

如果在我的鼠标事件中,我可以检查 CTRL 键的状态会更容易...

你能用Java做到吗?

感谢。

2 个答案:

答案 0 :(得分:10)

MouseEvent从InputEvent扩展,我认为您仍然可以通过getModifiers()从此对象获取修改器,以查看是否按下了ctrl键。我还没有测试过这个。

答案 1 :(得分:8)

使用getModifiers()检测按下的键..

<强>例如

if ((event.getModifiers() & ActionEvent.CTRL_MASK) ==ActionEvent.CTRL_MASK) {
System.out.println("CTRL KEY PRESSED");
}