[Java] Récupérer listeners d'un composant
Résolu
Thyjukil
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
J'aurais besoin de récupérer un listener placé sur un JTextArea. J'ai donc utilisé :
ListenerTextModifications [] ltm = Interface.this.textAreaName.getListeners(ListenerTextModifications.class);
Seulement si je tente d'utiliser ltm, j'obtiens une erreur avec un pointeur vide. Après vérification, ltm.length me renvoie 0.
J'ai déclaré le listener de cette façon :
ListenerTextModifications ltm = new ListenerTextModifications();
this.textAreaName.getDocument().addDocumentListener(ltm);
Est-ce que je m'y prends mal ou est-ce qu'il y a une autre façon de faire pour récupérer ce listener ?
Merci.
J'aurais besoin de récupérer un listener placé sur un JTextArea. J'ai donc utilisé :
ListenerTextModifications [] ltm = Interface.this.textAreaName.getListeners(ListenerTextModifications.class);
Seulement si je tente d'utiliser ltm, j'obtiens une erreur avec un pointeur vide. Après vérification, ltm.length me renvoie 0.
J'ai déclaré le listener de cette façon :
ListenerTextModifications ltm = new ListenerTextModifications();
this.textAreaName.getDocument().addDocumentListener(ltm);
Est-ce que je m'y prends mal ou est-ce qu'il y a une autre façon de faire pour récupérer ce listener ?
Merci.
A voir également:
- [Java] Récupérer listeners d'un composant
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Test composant pc - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Connaitre composant pc - Guide
1 réponse
Vu ton morceau de code tu as ajouté le listener sur getDocument, pas sur textAreaName.
Pour être cohérent, il faudrait donc faire le getListeners sur le getDocument, ou alors ajouter le listener directement sur textAreaName...
Evidemment, ici on n'a pas assez d'information pour te donner une réponse plus précise.
Note : c'est bizarre d'avoir un this en plein milieu de Interface.this.textAreaNameLa confiance n'exclut pas le contrôle
Pour être cohérent, il faudrait donc faire le getListeners sur le getDocument, ou alors ajouter le listener directement sur textAreaName...
Evidemment, ici on n'a pas assez d'information pour te donner une réponse plus précise.
Note : c'est bizarre d'avoir un this en plein milieu de Interface.this.textAreaNameLa confiance n'exclut pas le contrôle
Est-ce que c'est la bonne façon de faire dans ce cas?
Pour le this en plein milieu, je n'ai fait qu'appliquer mes cours d'amphi et mes TPs de Java :)
En plus on ne sait pas ce que tu veux faire, mais perso je ne me suis jamais servi de getListeners, il y a surement quelque chose qui ne vas pas dans ce que tu cherches à faire...
Pour le this c'est vraiment bizarre, il faudrait voir le code dans son contexte, mais lorsque je vois "InterfaceAcheteurWP.this", je lis "this" comme un membre static de la classe InterfaceAcheteurWP, alors que "this" est par définition la référence de l'objet courant, et ne peux donc pas être static !!!
Je pense que tu peux remplacer "InterfaceAcheteurWP.this.taCause" par "taCause", ce serait mieux...
Le "InterfaceAcheteurWP.this.taCause" est placé dans un actionPerformed et me sert à récupérer le texte de l'objet courant uniquement, je ne veux pas le mettre en static puisque dans ce cas il ne correspondrait pas forcément à ce que je cherche à récupérer,
Merci quand même de ton aide, je vais me débrouiller autrement ! :)
Pour le Document, je pense que tu t'y prends mal, tu devrais plutôt ajouter le listener sur le JTextArea, mais là encore ça dépend vraiment de ce que tu veux faire, mais tu n'est pas très précis...