Récupérer un mot par simple clic (droit) dans un JTextComponent (JEditorPane)

Résolu
TheJza Messages postés 5 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 21 mai 2008 - 16 mai 2008 à 15:53
TheJza Messages postés 5 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 21 mai 2008 - 21 mai 2008 à 22:57
Bonjour,
dans le cadre d'un projet étudiant, je dois trouver un moyen de récuperer le mot sur lequel pointe la souris (mais pas forcément le curseur clignotant du texte) en un clic droit dans un JEditorPane
Je fais mes recherches sur internet en parallèle mais tout conseil est le bienvenu =)
Merci!

3 réponses

TheJza Messages postés 5 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 21 mai 2008
21 mai 2008 à 22:57
Finalement j'ai opté pour l'utilisation de la classe java.awt.Robot qui permet de simuler clavier et souris :
un MouseListener repère le clic, teste s'il s'agit du clic droit puis simuler un mouvement d'un pixel à gauche (pour placer le curseur de la souris hors du menu qui s'ouvre automatiquement) puis deux clic gauche successifs (faisant l'effet d'un double clic qui sélectionne donc le mot pointé par la souris) puis un relancement du clic droit pour ouvrir le menu une fois le mot sélectionné.
Pour éviter que le clic droit simulé à la fin ne relance tout le processus (car le MouseListener se déclenche également pour les clics simulés par l'objet de type Robot),  j'utilise un entier qui est testé avant de lancer le processus, s'il vaut 1 le processus est lancé et à la fin l'entier prend la valeur 0; s'il vaut zéro il prend la valeur 1
; de cette manière le code est exécuté un clic droit sur deux, donc en initialisant cet entier à 1, cela correspond à tous les clics non simulés mais effectués par l'utilisateur.
3
mouzart Messages postés 161 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 novembre 2008 4
16 mai 2008 à 17:11
salut,

COment tu veu recuperer ce mot ? est ce ke par une action genre bouton, clavier ... ou du moment ou tu passe la souris sur ton mot ?
0
TheJza Messages postés 5 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 21 mai 2008
16 mai 2008 à 21:00
Salut et merci pour ta réponse!

En fait l'idée voulue c'est de renvoyer un mot en faisant un clic droit dessus tout simplement...
A la limite déplacer le curseur du texte est envisageable, il faudrait qu'il suffise d'un seul clic droit en gros, un double clic gauche sélectionne le mot, donc on pourrait carrément faire en sorte d'utiliser ça pour sélectionner le mot d'un seul clic droit et ensuite getSelectedText() ou un truc du genre...
Quelqu'un a une idée ou même une autre méthode que de simuler le double clic gauche?
0
Rejoignez-nous