jbr17
Messages postés5Date d'inscriptionjeudi 1 décembre 2011StatutMembreDernière intervention 1 décembre 2011
-
1 déc. 2011 à 14:22
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
2 déc. 2011 à 09:21
Bonjour,
Je souhaite développer un petit programme en Java avec Eclipse (jdk 1.6) pour calculer la distance parcourue, la vitesse instantanée, et enfin le nombre de clic de souris.
Tout fonctionne bien, mais je ne sais pas comment prendre en compte les clics en dehors de mon application.
J'ai cherché sur de nombreux sites, mais je n'ai pas trouver. Cela doit être simple mais...comment faire ?
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 1 déc. 2011 à 14:36
Bonjour,
Je ne suis pas certain que ce soit très simple. Seuls les composants qui ont le focus savent si un événement click est déclenché. Je dirais que ce n'est pas possible. En tout cas, je ne vois pas comment faire ca.
J'espère que d'autres seront plus inspirés que moi.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 1 déc. 2011 à 14:54
Si, J'y ai pensé aussi mais, le problème est que tu vas intercepter les cliques. Donc, tu pourras compter le nombre de clic mais par contre, l'utilisateur ne pourra plus rient faire.
A la limite, tu peux utiliser la classe Robot pour simuler un clic à l'endroit ou l'utilisateur a cliqué la première fois en déplaçant ou en réduisant ta fenêtre (une JWindow).
Par contre, ce n'est pas très pro cette solution, ca ressemble plus à une bricole.
De plus, java a un peu de mal avec la transparence. Tu risques d'avoir certaines difficultés pour faire une JWindow transparente. Je pense que tu devras utiliser la classe Robot pour faire des captures d'écran et les reporter sur ta JWindow.
jbr17
Messages postés5Date d'inscriptionjeudi 1 décembre 2011StatutMembreDernière intervention 1 décembre 2011 1 déc. 2011 à 15:00
C'est plus complexe qu'il n'y parait !
Est n'est-il pas possible d'attribuer à la fenêtre en cours un attribut qui lui dirait : ta zone active occupe tout l'écran ? Dans la classe JFrame par exemple ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
jbr17
Messages postés5Date d'inscriptionjeudi 1 décembre 2011StatutMembreDernière intervention 1 décembre 2011 1 déc. 2011 à 16:03
Tu as dis :
"A la limite, tu peux utiliser la classe Robot pour simuler un clic à l'endroit où l'utilisateur a cliqué la première fois en déplaçant ou en réduisant ta fenêtre (une JWindow). "
Peut-tu m'expliquer autrement ? Je ne comprends pas très bien.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 2 déc. 2011 à 07:58
La classe Robot te permet de simuler un clic. Si tu ne sais pas comment faire, recherche sur internet, c'est tout bête.
Si tu utilises une JWindow de taille 5x5 transparente que tu places sous la souris et lorsque l'utilisateur clique : tu récupères les coordonnées du pointeur, tu déplaces ta JWindow et tu cliques en utilisant la classe Robot.
De cette manière, tu peux intercepter l'événement clic sur ta JWindow et compter le nombre de clic puis reporter le clic effectué sur ton PC. Ensuite, tu replaces la JWindow.
Mais je n'ai jamais fais ca. Et je pense que ca sera assez difficile.
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 2 déc. 2011 à 09:15
Bonjour.
Je ne pense pas qu'il existe de solution toute faite en java.
En général, faut faire un programme en c/c++, et l'appeler en java via JNI. Par exemple comme indiqué par là