2014-01-20 36 views
0

我有一个KeyEvent,我想修改其中的修饰符以包含shift键。我目前的做法是使用旧的信息创建一个新的KeyEvent,试图将shift键添加到修饰符。但是,它似乎并没有工作。如何附加到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()。