对于 Jtree 中的多项选择,我在其中使用了多项选择模式。它可以工作。但我想知道我何时在这棵树中进行多项选择以执行此操作,我编写了一个非常简单的 keycontroller 类来实现 KeyListener,但是我想检查是否CTRL被按下,所以我正在使用这段代码,但它似乎不起作用:
kc.getKeyCode() == KeyEvent.CTRL_DOWN_MASK ;
ctrl 的 keyCode 是什么?还是我做错了什么?
与CTRL键掩码一样,键本身没有字符CTRL。
但是,根据KeyEvent文档,当按下或释放某个键时,总会发送一个有效的键代码。在这种情况下,它应该KeyEvent.CHAR_UNDEFINED
并且应该为密钥getModifiersEx()
返回 true 。CTRL请注意,要使其正常工作,您必须注册一个KeyListener(特别是 keyPressed() 和 keyReleased() 的句柄)。
的关键代码Ctrl是KeyCode.VK_CONTROL
。为了找到是否Ctrl被举行,你可以这样做:
if ((event.getModifiers() & ActionEvent.CTRL_MASK) ==ActionEvent.CTRL_MASK) {
System.out.println("CTRL KEY PRESSED");
}
哪个是使用java.awt.event.ActionEvent
而不是java.awt.event.KeyEvent
. 所以 in 的Ctrl代码ActionEvent
是CTRL_MASK
.
希望这可以帮助。