2014-01-20 40 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()。