我有一个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);
答案 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()。