1

对于 Jtree 中的多项选择,我在其中使用了多项选择模式。它可以工作。但我想知道我何时在这棵树中进行多项选择以执行此操作,我编写了一个非常简单的 keycontroller 类来实现 KeyListener,但是我想检查是否CTRL被按下,所以我正在使用这段代码,但它似乎不起作用:

kc.getKeyCode() == KeyEvent.CTRL_DOWN_MASK ; 

ctrl 的 keyCode 是什么?还是我做错了什么?

4

2 回答 2

1

CTRL键掩码一样,键本身没有字符CTRL

但是,根据KeyEvent文档,当按下或释放某个键时,总会发送一个有效的键代码。在这种情况下,它应该KeyEvent.CHAR_UNDEFINED并且应该为密钥getModifiersEx()返回 true 。CTRL请注意,要使其正常工作,您必须注册一个KeyListener(特别是 keyPressed() 和 keyReleased() 的句柄)。

于 2010-07-12T12:50:46.513 回答
1

的关键代码CtrlKeyCode.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代码ActionEventCTRL_MASK.

希望这可以帮助。

于 2014-02-26T17:37:37.870 回答