OVH Cloud OVH Cloud

enlever MouseListener sur JTextArea

1 réponse
Avatar
geoneo
Bonjour à tous, j'essai depuis un bon moment de supprimer toutes sortes
d'écoutes (listeners) sur un composant (JTextArea).

Pour être plus précis, j'instancie un JTextArea au sein d'un JPanel (ce
dernier implémente MouseListener et MouseMotionListener). Le problème
majeur est que quand ma souris passe sur ce JTextArea alors elle est
considérée comme Exited au sein de mon JPanel. Or, je voudrais que le
JTextArea ne réagisse pas du tout au passage de la souris pour pouvoir
tout gérer manuellement au niveau du Jpanel (et ainsi pouvoir avoir la
position de la souris sur le JTextArea).

J'ai tout d'abord essayé de désactiver le Focus (et pas mal d'autres
propriétés) sur le composant JTextArea via :

myTextArea.setFocusable(false)

Ca n'a pas suffit. Alors j'ai essayé de supprimer tous les listeners un
par un via :

for(int i=0;i<myTextArea.getXxxListeners().length;i++) {
myTextArea.removeXxxListener(myTextArea.getXxxListeners()[i]);
}

J'ai fait des recherches sur les newsgroups mais je n'ai pas encore
trouvé de solutions. Si quelqu'un pouvait me donner un coup de main...
En vous remerciant d'avance !

1 réponse

Avatar
Black Myst
geoneo wrote:
Bonjour à tous, j'essai depuis un bon moment de supprimer toutes sortes
d'écoutes (listeners) sur un composant (JTextArea).

Pour être plus précis, j'instancie un JTextArea au sein d'un JPanel (ce
dernier implémente MouseListener et MouseMotionListener). Le problème
majeur est que quand ma souris passe sur ce JTextArea alors elle est
considérée comme Exited au sein de mon JPanel. Or, je voudrais que le
JTextArea ne réagisse pas du tout au passage de la souris pour pouvoir
tout gérer manuellement au niveau du Jpanel (et ainsi pouvoir avoir la
position de la souris sur le JTextArea).


Euh, je suis pas sur d'avoir tout compris... si tu enlève tous les
listener, tu ne pourra meme plus clicker pour position le curseur à la
souris, les utilisateurs vont faire une crise !

Pourquoi tu n'ajoute pas simplement un listener sur ton TestArea qui
delegue à celui du panel... il faut penser à corriger la position de la
souris, mais toutes les méthodes necessaire ce trouve dans Swingutilities

Ou alors, tu veux connaitre la position de la souris dans toute ton
appli, dans ce cas regarde plutot du coté du GlassPanel...

sinon, precise ce que tu veux faire contraitement...

Black Myst