2011-03-26 4 views

Répondre

19

L'auditeur approprié dans le swing Java pour suivre les changements dans le contenu textuel d'un JTextField est un DocumentListener, que vous devez ajouter au document du JTextField:

myTextField.getDocument().addDocumentListener(new DocumentListener() { 
    // implement the methods 
}); 
+1

C'est un peu OTT quand tout ce que l'on veut faire est de détecter un changement, mais je reconnais que c'est la seule solution réalisable. –

-1

Vous pouvez ajouter un KeyListener ou un ActionListener au champ et capturer des événements.

0

Vous pouvez utiliser Caret Listener

 JTextField textField = new JTextField(); 
    textField.addCaretListener(new CaretListener() { 

     @Override 
     public void caretUpdate(CaretEvent e) { 
      System.out.println("text field have changed"); 

     } 
    }); 
+0

non, un caretListener n'est pas lié aux changements de la _data_ ... – kleopatra

3

Utilisez Listener clé de cette façon

JTextField tf=new JTextField(); 
tf.addKeyListener(new KeyAdapter() 
    { 
     public void keyPressed(KeyEvent ke) 
     { 
      if(!(ke.getKeyChar()==27||ke.getKeyChar()==65535))//this section will execute only when user is editing the JTextField 
      { 
       System.out.println("User is editing something in TextField"); 
      } 
     } 
    }); 
Questions connexes