2012-06-29 4 views
0

ici ma situation:erreur sur l'ajout ChangeListener sur JTextField

textField1.addChangeListener(new ChangeListener() { 
     @Override 
     public void stateChanged(ChangeEvent e) { 
      textField1StateChanged(e); 
     } 
    }); 

l'erreur dit addChangeListener est définie pour le type JTextField. y a-t-il autre chose à importer? (Je suis un débutant en Java) grâce

Répondre

2

que vous pourriez vouloir essayer:

// Listen for changes in the text 
textField.getDocument().addDocumentListener(new DocumentListener() { 
    public void changedUpdate(DocumentEvent e) { 
     //your code 
    } 
    public void removeUpdate(DocumentEvent e) { 
    } 
    public void insertUpdate(DocumentEvent e) { 
    } 
}); 
+0

Plus d'informations peuvent être trouvées ici: http://docs.oracle.com/javase/tutorial/uiswing/events/documentlistener.html – Keppil

0

Cest parce qu'il n'y a pas de méthode JTextField. Ce que vous devez faire à la place est que votre classe implémente ChangeListener, et implémente la méthode stateChanged(). Ici, vous obtiendrez le composant qui a déclenché l'événement depuis l'événement ChangeEvent, et agirez en conséquence. Voici un exemple de la docs:

class YourClass implements ChangeListener { 
    public void stateChanged(ChangeEvent e) { 
     if (e.getSource() instanceof JTextField) { 
      JTextField source = (JTextField)e.getSource(); 
      if(!source.getValueIsAdjusting()) { 
      // check if this is the component you want and respond to the event 
      } 
     }  
    } 
} 
Questions connexes