2013-01-24 4 views
2

J'utilise PropertyChangeListener pour JTextFields pour écouter valeur changer, et cela fonctionne normalement, et quand je l'utilise avec JTextArea; pas d'erreurs dans le code et il est compilé normalement. Toutefois, cette méthode affiche la réponse lorsque certaines modifications se produisent dans une valeur de texte JTextField mais aucune réponse lorsqu'il s'agit de JTextArea.Java: PropertyChangeListener pour JTextArea Aucune réponse?

Voici comment je l'ai écrit le code

A l'intérieur du constructeur:

textField_1.addPropertyChangeListener("value", new ChangeListener()); 
textField_2.addPropertyChangeListener("value", new ChangeListener()); 
textArea.addPropertyChangeListener("value", new ChangeListener()); 

Et quelque part dans la classe:

private class ChangeListener implements PropertyChangeListener 
{ 
    @Override 
    public void propertyChange(PropertyChangeEvent e) 
    { 
     Object source = e.getSource(); 

     if ((source == textField_1) || (source == textField_2) || (source == textArea)) 
     { 
       System.out.println("some value changed "+ source.getClass()); 
     } 
    } 
} 

J'utilise nouvelle valeur chaque fois que je fais une changer à ces valeurs de texte compomemts.

THanks

Répondre

5
  • utilisation DocumentListener pour l'écoute des changements dans JTextArea

  • de ce Listener vous pouvez tirer un nouvel événement à PropertyChangeListener

  • feu un nouvel événement seulement pour PropertyChangeListener en le cas est nécessaire, aucune idée de cette description, pour une meilleure aide plus tôt poster un SSCCE

+0

Remerciements; DocumentListener est parfait –

+0

Merci; 'DocumentListener' est parfait. Mais je me demande; Comme il n'y a pas d'erreur dans mon code et que la ligne qui ajoute 'PropertyChangeListener' à' JTextArea' est compilée, pourquoi ne pas répondre? Je le remplace par 'DocumentListener' il fonctionne maintenant. ** De toute façon merci; votre réponse est parfaite. ** –

+0

content de vous aider, seul le Document est responsable de l'écoute de tous les changements de/vers JTextComponent, – mKorbel