Friday 15 January 2010

java - Swing's KeyListener and multiple keys pressed at the same time -



java - Swing's KeyListener and multiple keys pressed at the same time -

is there conventional way in swing of tracking downwards events, when 2 keyboard keys pressed @ same time? have couple of ideas e.g. remembering key , event generation time in consecutive event handler invocation check time difference between these 2 events , decide, whether it's two-button event or not. looks kludge.

use collection remember keys pressed , check see if more 1 key pressed every time key pressed.

class multikeypresslistener implements keylistener { // set of pressed keys private final set<character> pressed = new hashset<character>(); @override public synchronized void keypressed(keyevent e) { pressed.add(e.getkeychar()); if (pressed.size() > 1) { // more 1 key pressed. // iterate on pressed keys. } } @override public synchronized void keyreleased(keyevent e) { pressed.remove(e.getkeychar()); } @override public void keytyped(keyevent e) {/* not used */ } }

java swing keylistener

No comments:

Post a Comment