对于Jtree中的多个选择,我在其中使用多种选择模式。它工作。但我想知道当我在这个树中完全进行多项选择时,我写了一个非常简单的keycontroller类来实现KeyListener ,但我想检查是否按 CTRL 这样做我正在使用此代码,但它似乎无法正常工作:
kc.getKeyCode() == KeyEvent.CTRL_DOWN_MASK ;
ctrl的keyCode是什么?或者我做错了什么?
答案 0 :(得分:1)
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
。因此ActionEvent
中 Ctrl 的代码为CTRL_MASK
。
希望这会有所帮助。
答案 1 :(得分:0)
由于 CTRL 是一个键掩码,单独的 CTRL 键没有字符。
但是,根据KeyEvent文档,当按下或释放某个键时,总会发送一个虚拟键代码。在这种情况下,对于 CTRL 键,它应该是KeyEvent.CHAR_UNDEFINED
并且getModifiersEx()
应该返回true。请注意,要使其工作,您必须注册KeyListener(特别是keyPressed()和keyReleased()的句柄。)