Gostaria de que quando atingisse 4 caracters ele pulasse para o proximo campo automaticamente, isto seria possivel??
Obrigado!
cara nunca fiz isso não mas criei um projeto teste aqui pra tentar… eu fiz assim e funfou
ex para 2 textfield… chamados campo1 e campo2 , primeiro usei um evento keytyped para toda vez que digitar algo ele analisar o texto do campo.
campo1.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyTyped(java.awt.event.KeyEvent evt)
{
String caracteres = campo1.getText ();
if(caracteres.length () > 2)
campo2.requestFocus ();
}
});
e assim teria que fazer pra todos os campos adicionar evento pra todos… toda vez que atingir a condicao de 4 caracteres… vc faz
nomedoProximocampo.requestfocus(); //que ai troca pro proximo campo.
bom um jeito basico é esse pelo que testei rapidamente aqui.
tipo… eu faço assim
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextFieldKeyTyped(evt);
}
});
jTextField2.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextFieldKeyTyped(evt);
}
});
jTextField3.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextFieldKeyTyped(evt);
}
});
assim voce nao precisa digitar todos os campos do formulario!
private void jTextFieldKeyTyped(java.awt.event.KeyEvent evt) {
if (evt.getSource() instanceof JTextField) {
JTextField campo = (JTextField) evt.getSource();
String caractere = campo.getText();
if (caractere.length() >= numeroMaximoDeCatacter) {
campo.transferFocus();
}
}
[u][b]Resolvido... Ficou asssim[/b][/u]
[code] public void keyTyped(KeyEvent arg0) {
if(tf1.getText().length() >2){
tf1.transferFocus();
}
}[/code]
Eu nao sabia da existencia do transferFocus();
nao sei o proque + para pular 4 campos tive que colocar >2
eu acho q 1 pro evento começar + otra q começa do Zero, acho que deve ser isso
Obrigado pela Ajuda!!