-
ClipCursor() ?!
hello vous,
connaisseriez vous un moyen de restreindre la liberté de mouvement de la souris à une certaine zone ( en l occurence, à la zone occupée par la Jframe de mon application)
L'api win32 équivalente est ClipCursor() , que j'utilise dans une application que je porte en java, d'où le besoin d'un équivalent
n'ayant pas trouvé de telle méthode ( je ne suis pas encore familier de l'utilisation de la javadoc), j'essaie l'alternative consistant à récuperer la position absolue du curseur de la souris par rapport à l"écran, histoire de la comparer avec les coordonnées de ma fenetre pour ramener le curseur au centre de ladite fenetre lorsque la position recupérée m'apprend que le curseur est sorti de l'écran
bien sur, sans succès, je n'ai pas non plus trouvé la façon de récuperer les coordonnées absolues du curseur de la souris. Et d'après le post d'un developpeur de chez sun sur un forum, paraitrait que c'est impossible
voila, si quelqu'un avait une petite piste à me proposer, ce serait fort sympatique :)
d'avance merci, et désolé pour le post un peu fouilli et sûrement bourré de fautes, j'ai pas les idées très claires... :p
-
tu peux utiliser un MouseListener et un MouseMotionListener pour detecter que le curseur sort de la zone active et un Robot pour l'y rammener.
-
ok merci, je vais tenter ça
-
non ça ne marche pas ... enfin si, mais ce n'est pas très réactif, le curseur a le temps de "sortir un peu" de la fenetre avant d'être détecté hors zone, lorsqu'on bouge la souris rapidemment
vais peut etre m orienté vers une fonction native ( GetCursorPos() cité plus haut pour windows, et jtrouverais bien un équivalent pr linux quand le besoin s'en fera sentir, histoire de ne pas réduire à néant la portabilité)
-
bon, j'ai écrit mon fichier c, la dll est prête, chargée dans mon appli...
mais malgré moult recherches je n'arrive pas a passer un entier de mon prog C vers l'appli java ...
-
La réponse à ta question s'appelle JNI mais ensuite va falloir chercher un je ne suis de loin pas expert es la matière
-
Voir le didacticiel dont le lien se trouve sur cette page : http://java.sun.com/j2se/1.5.0/docs/guide/jni/index.html
EDIT - zut le lien indique sur la page n'est plus valide. Pourtant une recherche sur le site de Sun retourne toujours les memes URL. Il semblerait que les ressources sur JNI ne soient plus disponible. Meme les exemples de la page http://java.sun.com/developer/codesamples/jni.html ne sont plus valides.
-
Article rapide sur JNI : http://www.progx.org/index.php?section=articles&article=Java/article11
-
ça marche, merci à vous :)