Identificar números em um jTextField

4 respostas
P

Pessoal faço uma análise caracter a caracter no momento da digitação em um jTextField, e preciso identificar os números nessa digitação. Procurei no fórum e não encontrei nada que funcionasse ou me ajudasse. Alguém tem alguma dica?

4 Respostas

davidbuzatto

Vc pode usar uma expressão regular e ver se cada número digitado é um número ou então usar Integer.parseInt ou algum outro método de conversão das classes empacotadoras. Vc vai precisar registrar um ouvinte para o JTextField (keyListener). Ah, vc tbm pode, usando o keyListener,ir verificando o que está sendo digitado (se é número ou não).

Falow!

wag182

cara eu acho que vc pode tirar proveito de um codigo meu a pouco tempo eu criei um evento num JTextField para impedir os usuarios de digitarem caracteres apenas numeros...dá uma olhada e vc se vc consegue aproveitar algo

textField.addKeyListener(new KeyAdapter(){
            
            /** Evento para eliminar caracteres*/
            public void keyReleased(KeyEvent e){
                //verificando se eh um numero.
                if ( !((e.getKeyChar() &gt= '0') && (e.getKeyChar() &lt= '9')) ){
                    String textDigitado = ((JTextField) e.getSource()).getText();
                    ((JTextField) e.getSource()).setText(
                             textDigitado.replace(e.getKeyChar(),'\r') );
                }
            }
        });

espero ter ajudado.

Marck

Voce pode criar uma classe assim:

public class ClassTest{
	
	
	public ClassTest(JTextField Obj){
		
		
		Obj.addKeyListener(new KeyAdapter(){
             
             // Evento para eliminar caracteres
             public void keyReleased(KeyEvent e){
                 
                 if ( !((e.getKeyChar() >= '0') && (e.getKeyChar() <= '9')) ){
                      JOptionPane.showMessageDialog(null,"Usar Somente Números!");
             }
             }});		
	
	}
}

e so instanciar qd precisar:

jtCpf().addFocusListener(new FocusAdapter(){
             
             
             public void focusGained(FocusEvent e){
                 //verificando se eh um numero.
                 
             ClassTest ct = new ClassTest(jtCpf());              
                                      
             }
         });	
         }

**tive q fazer isso hoje. :D

[edit] aproveitando codigo do colega acima :wink:

P

É pessoal, valeu agora tá rolando certinho.
Valeu.

Criado 31 de maio de 2007
Ultima resposta 5 de jun. de 2007
Respostas 4
Participantes 4