TheJza
Messages postés5Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention21 mai 2008
-
16 mai 2008 à 15:53
TheJza
Messages postés5Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention21 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!
TheJza
Messages postés5Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention21 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.
TheJza
Messages postés5Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention21 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?