Occhio che quel getKeyStroke (che riceve un char) fornisce un KeyStroke per un evento di key "typed", non "press".Originariamente inviato da bircastri
codice:textDescrizione.getInputMap().put(KeyStroke.getKeyStroke((char)KeyEvent.VK_TAB), "myTabAction");
KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0)
cioè l'altro getKeyStroke(int keyCode, int modifiers)
invece rappresenta un key "press". Prova questo, perché intuitivamente (non ho tempo ora di fare la verifica ...) una azione di tab non è un carattere che si digita in un testo.