2014-01-20 4 views
0

У меня есть KeyEvent, модификаторы которого я хочу изменить, чтобы включить клавишу shift. Мой нынешний подход - создать новый KeyEvent, используя информацию из старого, пытаясь добавить ключ переключения к модификаторам. Однако, похоже, он не работает.Как добавить к модификаторам Java KeyEvent?

Есть ли лучший способ сделать это?

event = new KeyEvent((Component) event.getSource(), KeyEvent.KEY_RELEASED, event.getWhen(), event.getModifiersEx() | KeyEvent.SHIFT_DOWN_MASK, event.getKeyCode(), KeyEvent.CHAR_UNDEFINED); 

ответ

0

Вместо этого: event = new KeyEvent((Component) event.getSource(), KeyEvent.KEY_RELEASED, event.getWhen(), event.getModifiersEx() | KeyEvent.SHIFT_DOWN_MASK, event.getKeyCode(), KeyEvent.CHAR_UNDEFINED);

Я должен был сделать это: event = new KeyEvent((Component) event.getSource(), event.getID(), event.getWhen(), event.getModifiersEx() | KeyEvent.SHIFT_DOWN_MASK, event.getKeyCode(), KeyEvent.CHAR_UNDEFINED);

Обратите внимание, что вместо KeyEvent.KEY_RELEASED я имею event.getID().