addKeyListener

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…

[code]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) {   
                        
         }   
            
      });[/code]

ATT.
WILIAM WITTER

[code] 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) {     
                             
            }     
                
         });  [/code]

[quote=marcio_gs][code] 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) {     
                             
            }     
                
         });  [/code][/quote]

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

[quote=Wiliam Witter]
Muito obrigado… eu intendi e si eu quisese validar para não receber numeros e só strings como eu faria???[/quote]

Strings seriam Letras no caso? Ai basta colocar:

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