Salve ragazzi ho la necessità di gestire il metodo focus di default di java,.
Mi spiego meglio. Ho una maschera con varie textfield, e voglio che alla pressione del tab venga effettuato il focus su text che io decido per fare ciò ho utilizzato il seguente codice
codice:
textDescrizione.getInputMap().put(KeyStroke.getKeyStroke((char)KeyEvent.VK_TAB), "myTabAction");
textDescrizione.getActionMap().put("myTabAction", new AbstractAction("myTabAction") {
public void actionPerformed(ActionEvent e) {
textZuccheri.requestFocus();
}
});
in pratica se sono sulla textDescrizione e utilizzo il tab vado in textZuccheri
fin qui tutto ok però adesso voglio ricostruire il percorso inverso cioè premendo il tasto MAIUSC + TAB per ritornare alla text precedente e questonon funziona o meglio è come se sovrascrivesse il tasto TAB
codice:
textDescrizione.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_SHIFT, (char)KeyEvent.VK_TAB ), "myTabAction");
textDescrizione.getActionMap().put("myTabAction", new AbstractAction("myTabAction") {
public void actionPerformed(ActionEvent e) {
textSngl.requestFocus();
System.out.println("victor");
}
});
in questo modo ho digito TAB o MAIUSC+TAB vado sempre nella textSngl
come mai????