addKeyListener

3 respostas
Wiliam_Witter

Bom Dia,

Estava tentando validar um campo JTextField para receber apenas numeros...
Procurei e axei esse addKeyListener, mais eu copiei o cod. q achei coloquei e deu certo mas não intendi oq esta acontecendo, estou lendo esta documentação mas mesmo assim esta vicando meio vago as explicações intão se alguém puder me explicar certinho oq é cada uma dessas linhas agradesso...

desc.addKeyListener(new KeyListener(){   
			  
	         public void keyTyped(KeyEvent e) {   
	            char c = e.getKeyChar();   
	               
	              if(!Character.isDigit(c)){   
	                 e.consume();   
	              }      
	               
	         }   
	  
	         public void keyPressed(KeyEvent e) {   
	                         
	         }   
	  
	         public void keyReleased(KeyEvent e) {   
	                        
	         }   
	            
	      });

ATT.
WILIAM WITTER

3 Respostas

M
desc.addKeyListener(new KeyListener(){     
                 
             public void keyTyped(KeyEvent e) {     
                char c = e.getKeyChar();   // pega o caractere da tecla pressionada
                     
                   if(!Character.isDigit(c)){     //se esse caractere não for um digito
                        e.consume();     // digamos que "elimina" o caractere. Sendo assim, ele não chega ao JTextField.
                     }        
                      
              }

/// os métodos abaixo existem apenas por obrigação. Não estão fazendo nada.     
         
             public void keyPressed(KeyEvent e) {     
                                
               }     
           
                public void keyReleased(KeyEvent e) {     
                                 
                }     
                    
             });
Wiliam_Witter
marcio_gs:
desc.addKeyListener(new KeyListener(){     
                 
             public void keyTyped(KeyEvent e) {     
                char c = e.getKeyChar();   // pega o caractere da tecla pressionada
                     
                   if(!Character.isDigit(c)){     //se esse caractere não for um digito
                        e.consume();     // digamos que "elimina" o caractere. Sendo assim, ele não chega ao JTextField.
                     }        
                      
              }

/// os métodos abaixo existem apenas por obrigação. Não estão fazendo nada.     
         
             public void keyPressed(KeyEvent e) {     
                                
               }     
           
                public void keyReleased(KeyEvent e) {     
                                 
                }     
                    
             });

Muito obrigado... eu intendi e si eu quisese validar para não receber numeros e só strings como eu faria?????

M

Wiliam Witter:

Muito obrigado… eu intendi e si eu quisese validar para não receber numeros e só strings como eu faria???

Strings seriam Letras no caso? Ai basta colocar:

if(!Character.isLetter(c)) { e.consume(); }

Criado 5 de setembro de 2008
Ultima resposta 5 de set. de 2008
Respostas 3
Participantes 2