Originariamente inviato da biagiopas
per evitare confusione diciamo che voglio intercettare solo i tasti invio e control e
ad ognuno dei due tasti associare un metodo diverso : hello_control e hello_invio
succede che se si preme invio mentre control è ancora premuto il metodo hello_invio non si verifica (comportamento non desiderabile)
al contrario se si preme control mentre invio è premuto il metodo hello_control si verifica (comportamento corretto)
Semplice:
codice:
inputMap.put (KeyStroke.getKeyStroke (KeyEvent.VK_ENTER, 0), "action_enter");
inputMap.put (KeyStroke.getKeyStroke (KeyEvent.VK_ENTER, InputEvent.CTRL_DOWN_MASK), "action_enter");
inputMap.put (KeyStroke.getKeyStroke (KeyEvent.VK_CONTROL, InputEvent.CTRL_DOWN_MASK), "action_ctrl");
Chiaramente poi nella ActionMap devi fare le 2 associazioni tra le stringhe e le due action!