JTextField et listener [java] - Java - Programmation
Marsh Posté le 26-08-2004 à 13:23:13
Laissez tomber, j'ai trouver une solution "a l'arrache".
J'ai essayé des trucs au harsar et je suis arrivé au resultat que je voulais (meme si je sais pas comment)
j'ai implémenté un CaretListener. Je sais meme pas ce que ca veux dire Caret mais comme je suis a la bourre, j'ai pas cherché a comprendre ce que j'ai fais! ;-) ca marche c'est le principal!
Cependant, si vous savez ce que c'est plus précisement un CaretListener... vous pouvez toujours me répondre :-D
Merci quand meme
Marsh Posté le 26-08-2004 à 13:43:29
Pour moi Caret c'est le curseur qui donne la position dans JTextFiel, l'espace de | qui clignote... Et le caretListener ca serai lorsque tu déplace le curseur.
Marsh Posté le 27-08-2004 à 08:54:05
ok ben de toute facon des qu'on veut modifier le contenu, le caretListener est notifié. Donc c'est bon, ça marche comme je veux. Cependant il doit quand meme y avoir un autre moyen de savoir quand le texte change... je chercherai mais juste pour ma culture, de toute facon j'ai fini mon projet alors je vais pas changer ca!
Marsh Posté le 27-08-2004 à 11:14:10
Ouais, je regarderai ca (mais c'etait plus loin dans l'ordre alphabetique ;-), donc je suis pas allé jusque la!)
Marsh Posté le 26-08-2004 à 07:12:45
salut,
un ptit probleme tout con : Je veux ajouter un écouteur à un JTextField afin de lancer un traitement lorsque sa valeur est changé par l'utilisateur. J'ai essayé monJTextField.getDocument().addDocumentListener(...) comme expliqué dans la javadoc de la classe. Mais ce listener n'est jamais notifié! Je comprends pas pourquoi
J'ai essayé une autre méthode: en utilisant un keyListener (parcequ'apres tout, la valeur ne peut changer que par action sur le clavier). Et la j'ai un truc bizarre qui se produit : j'explique d'abord en prennant un exemple bidon:
J'ai 2 JTextField dont les valeurs doivent etre liées
valeur1 = 2* valeur2 (c'est juste un exemple bidon)
donc dans mes keylistener (1 par JTextField), je mets a jour l'autre.
Mais, il y a un décalage entre les valeurs rentrées. Je donne un exemple parceque j'ai du mal à l'expliquer :
valeur1 valeur2
j'ai 10 et 20 au départ
j'enleve .. mais ca me laisse 20
je commence a tapper 5 la j'ai : err (normal, il ne peux pas calculer, puisque y'avait rien)
je continue 50 -> 10 (5*2)
je continue 500 -> 100 (50*2)
j'efface le dernier: 50 -> 1000 (500*2)
J'arrive pas a comprendre pourquoi...
Si vous avez une solution ou une explication (ca me trouble tout ca...).
Merci d'avoir lu tout ca! (j'espere que c'etait pas trop brouillon)