код клавиши для Ctrl - PullRequest
       7

код клавиши для Ctrl

0 голосов
/ 12 июля 2010

Для множественного выбора в Jtree я использую в нем режим множественного выбора. Это работает. Но я хочу знать, когда я делаю множественный выбор именно в этом дереве, для этого я написал очень простой класс keycontroller, который реализует KeyListener , но я хочу проверить, нажата ли CTRL или нет, поэтому я использую этот код, но, похоже, он не работает:

kc.getKeyCode() == KeyEvent.CTRL_DOWN_MASK ; 

что такое keyCode для Ctrl? Или я что-то не так делаю?

Ответы [ 2 ]

1 голос
/ 26 февраля 2014

Код ключа для 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. Таким образом, код для Ctrl в ActionEvent равен CTRL_MASK.

Надеюсь, это поможет.

0 голосов
/ 12 июля 2010

Поскольку CTRL является маской ключа, для ключа CTRL нет символа.

Однако согласно документации KeyEvent всегда есть код клавиши vaild, который отправляется при нажатии или отпускании клавиши.в этом случае это должно быть KeyEvent.CHAR_UNDEFINED и <a href="http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/awt/event/InputEvent.html#getModifiersEx()" rel="nofollow noreferrer">getModifiersEx()</a> должно возвращать true для клавиши CTRL .Обратите внимание, что для его работы необходимо зарегистрировать KeyListener (специально для обоих ключей keyPressed () и keyReleased ()).

...