对于Jtree中的多选,我在其中使用多选模式。它工作。但我想知道当我在这棵树中进行多重选择时,我写了一个非常简单的keycontroller类实现KeyListener的,但我想检查CTRL是否被按下不这样做,我使用这个代码,但它似乎不工作:ctrl的键码
kc.getKeyCode() == KeyEvent.CTRL_DOWN_MASK ;
什么是CTRL键代码?或者我做错了什么?
对于Jtree中的多选,我在其中使用多选模式。它工作。但我想知道当我在这棵树中进行多重选择时,我写了一个非常简单的keycontroller类实现KeyListener的,但我想检查CTRL是否被按下不这样做,我使用这个代码,但它似乎不工作:ctrl的键码
kc.getKeyCode() == KeyEvent.CTRL_DOWN_MASK ;
什么是CTRL键代码?或者我做错了什么?
作为CTRL是一个关键的掩码,没有字符仅用于CTRL键。
但是,根据KeyEvent文档,总是有一个vaild密钥代码在按下或释放键时发送。在这种情况下,它应该是KeyEvent.CHAR_UNDEFINED
和getModifiersEx()
应该对CTRL键返回true。注意,为了它的工作,你必须注册一个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
的。所以CtrlActionEvent
的代码是CTRL_MASK
。
希望这会有所帮助。
有没有一种方法可以理解我正在做一个特殊的选择多重选择。我的意思是我不想失去之前选择的项目,当我做出多项选择时。 – gustavo 2010-07-12 12:58:55