如何附加到Java KeyEvent修饰符?

时间:2014-01-20 15:21:19

标签: java keyevent modifiers

我有一个KeyEvent,我想要更改其修饰符以包含shift键。我目前的方法是使用旧的信息创建一个新的KeyEvent,尝试将shift键添加到修饰符。但是,它似乎没有起作用。

有更好的方法吗?

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

1 个答案:

答案 0 :(得分: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()。