Un JTextField per default non ha alcun limite nel numero di caratteri. Se si vuole porre un limite o fare altre operazioni particolari (es. filtrare solo determinati caratteri), la soluzione più semplice e valida è quella di estendere PlainDocument. Avevo fatto un esempio qui.Originariamente inviato da ziz
Bisogna quindi compilare ogni singolo rettangolino con un solo carattere.
Dipende quale è la condizione che deve causare il trasferimento del focus. Se si limita il numero di caratteri come ho spiegato sopra e, detto in generale, si vuole che appena si raggiunge il limite, il focus venga trasferito, si può fare tranquillamente con una piccola modifica nel codice che ho indicato in quel mio post.Originariamente inviato da ziz
Ora però dovremmo riuscire a passare da un textfield a quello successivo
Se si vuole trasferire il focus al componente successivo (proprio come se si premesse il "TAB"), si fa così:
Se non si vuole limitare il numero di caratteri (quindi non si crea un proprio apposito Document), si può sempre in ogni caso registrare un DocumentListener al Document associato al JTextField. Quando si riceve notifica che "qualcosa" è cambiato nel document, si può controllare se va bene e quindi si fa qualcos'altro (es. se il documento ha 1 carattere, si trasferisce il focus).codice:KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager(); manager.focusNextComponent();