Scuter la position de la souris à l'extérieur des composant
3 réponses
Benoît Chauvet
Bonjour,
Je voudrais savoir s'il est possible de connaitre la position de la souris
sur l'écran (et non pas par rapport aux coordonnées d'un composant). Je
précise que la souris est à l'extérieur du cadre JFrame de mon application
Java.
J'utilise actuellement la classe Robot, qui me permet de déplacer la souris,
mais elle ne me permet pas de savoir où le curseur se trouve à un moment
donné.
J'ai cherché s'il était possible de demander à un composant Swing d'écouter
les mouvements de la souris, mais l'interface MouseMotionListener ne
comporte que deux méthodes : mouseDrag PEUT renvoyer des coordonnées
extérieures à l'application, mais il faut que le drag ait été initié à
l'intérieur d'un composant Swing (et donc accessoirement que l'utilisateur
ait cliqué sur un bouton). A l'inverse, mouseMove ne renvoye un évènement
que si la souris est dans le cadre du composant.
Existe-t'il un composant qui pourrait écouter tout l'écran ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
"Benoît Chauvet" wrote in message news:c0lqgo$noj$
Bonjour,
Je voudrais savoir s'il est possible de connaitre la position de la souris sur l'écran (et non pas par rapport aux coordonnées d'un composant). Je précise que la souris est à l'extérieur du cadre JFrame de mon application Java.
J'utilise actuellement la classe Robot, qui me permet de déplacer la souris,
mais elle ne me permet pas de savoir où le curseur se trouve à un moment donné.
J'ai cherché s'il était possible de demander à un composant Swing d'écouter
les mouvements de la souris, mais l'interface MouseMotionListener ne comporte que deux méthodes : mouseDrag PEUT renvoyer des coordonnées extérieures à l'application, mais il faut que le drag ait été initié à l'intérieur d'un composant Swing (et donc accessoirement que l'utilisateur ait cliqué sur un bouton). A l'inverse, mouseMove ne renvoye un évènement que si la souris est dans le cadre du composant.
Existe-t'il un composant qui pourrait écouter tout l'écran ?
Merci de votre aide.
-- Orabîg
"Benoît Chauvet" <chauvet@benoit.echanger_nom_et_prenom.com> wrote in
message news:c0lqgo$noj$1@news.tiscali.fr...
Bonjour,
Je voudrais savoir s'il est possible de connaitre la position de la souris
sur l'écran (et non pas par rapport aux coordonnées d'un composant). Je
précise que la souris est à l'extérieur du cadre JFrame de mon application
Java.
J'utilise actuellement la classe Robot, qui me permet de déplacer la
souris,
mais elle ne me permet pas de savoir où le curseur se trouve à un moment
donné.
J'ai cherché s'il était possible de demander à un composant Swing
d'écouter
les mouvements de la souris, mais l'interface MouseMotionListener ne
comporte que deux méthodes : mouseDrag PEUT renvoyer des coordonnées
extérieures à l'application, mais il faut que le drag ait été initié à
l'intérieur d'un composant Swing (et donc accessoirement que l'utilisateur
ait cliqué sur un bouton). A l'inverse, mouseMove ne renvoye un évènement
que si la souris est dans le cadre du composant.
Existe-t'il un composant qui pourrait écouter tout l'écran ?
"Benoît Chauvet" wrote in message news:c0lqgo$noj$
Bonjour,
Je voudrais savoir s'il est possible de connaitre la position de la souris sur l'écran (et non pas par rapport aux coordonnées d'un composant). Je précise que la souris est à l'extérieur du cadre JFrame de mon application Java.
J'utilise actuellement la classe Robot, qui me permet de déplacer la souris,
mais elle ne me permet pas de savoir où le curseur se trouve à un moment donné.
J'ai cherché s'il était possible de demander à un composant Swing d'écouter
les mouvements de la souris, mais l'interface MouseMotionListener ne comporte que deux méthodes : mouseDrag PEUT renvoyer des coordonnées extérieures à l'application, mais il faut que le drag ait été initié à l'intérieur d'un composant Swing (et donc accessoirement que l'utilisateur ait cliqué sur un bouton). A l'inverse, mouseMove ne renvoye un évènement que si la souris est dans le cadre du composant.
Existe-t'il un composant qui pourrait écouter tout l'écran ?
Merci de votre aide.
-- Orabîg
Ouch! Pas facile du tout (du moins, sous Windowzs) car il faut detourner les messages envoyes pas la souris pour les renvoyer a ton appli. Mais attention, il y a l'effet secondaire, c'est que cela revient a avoir ton appli qui a le controle complet de la souris, et quelque soit ou elle se trouve. Donc, tu ne pourras pas utiliser ta souris pour faire d'autres choses, sauf, si evidemment, ton appli n'as plus le controle de la souris. Mais alors, tu retombes dans ton probleme de depart: tu ne sais plus ou se trouve le pointeur si une autre appli prends la main., etc... C'est le serpent qui se mord la queue.
Essaye de voir si en Java, tu peux trouver les equivalents des API setCapture, getCapture et releaseCatpure (si tu es sous Windows evidemment, sinon, je n'ai aucune idee).
@+ T.
Ouch! Pas facile du tout (du moins, sous Windowzs) car il faut detourner les
messages envoyes pas la souris pour les renvoyer a ton appli. Mais
attention, il y a l'effet secondaire, c'est que cela revient a avoir ton
appli qui a le controle complet de la souris, et quelque soit ou elle se
trouve. Donc, tu ne pourras pas utiliser ta souris pour faire d'autres
choses, sauf, si evidemment, ton appli n'as plus le controle de la souris.
Mais alors, tu retombes dans ton probleme de depart: tu ne sais plus ou se
trouve le pointeur si une autre appli prends la main., etc... C'est le
serpent qui se mord la queue.
Essaye de voir si en Java, tu peux trouver les equivalents des API
setCapture, getCapture et releaseCatpure (si tu es sous Windows evidemment,
sinon, je n'ai aucune idee).
Ouch! Pas facile du tout (du moins, sous Windowzs) car il faut detourner les messages envoyes pas la souris pour les renvoyer a ton appli. Mais attention, il y a l'effet secondaire, c'est que cela revient a avoir ton appli qui a le controle complet de la souris, et quelque soit ou elle se trouve. Donc, tu ne pourras pas utiliser ta souris pour faire d'autres choses, sauf, si evidemment, ton appli n'as plus le controle de la souris. Mais alors, tu retombes dans ton probleme de depart: tu ne sais plus ou se trouve le pointeur si une autre appli prends la main., etc... C'est le serpent qui se mord la queue.
Essaye de voir si en Java, tu peux trouver les equivalents des API setCapture, getCapture et releaseCatpure (si tu es sous Windows evidemment, sinon, je n'ai aucune idee).
@+ T.
Benoît Chauvet
wrote:
Ouch! Pas facile du tout (du moins, sous Windowzs) car il faut detourner les messages envoyes pas la souris pour les renvoyer a ton appli. Mais attention, il y a l'effet secondaire, c'est que cela revient a avoir ton appli qui a le controle complet de la souris, et quelque soit ou elle se trouve. Donc, tu ne pourras pas utiliser ta souris pour faire d'autres choses, sauf, si evidemment, ton appli n'as plus le controle de la souris. Mais alors, tu retombes dans ton probleme de depart: tu ne sais plus ou se trouve le pointeur si une autre appli prends la main., etc... C'est le serpent qui se mord la queue.
Essaye de voir si en Java, tu peux trouver les equivalents des API setCapture, getCapture et releaseCatpure (si tu es sous Windows evidemment, sinon, je n'ai aucune idee).
Hum, j'ai fait un peu le tour, et je vois pas... Bon, ben, je crois que je vais faire autrement et renoncer à l'idée que j'avais.
Merci de ta réponse, en tout cas.
-- Orabîg
nospam@nospam.com wrote:
Ouch! Pas facile du tout (du moins, sous Windowzs) car il faut
detourner les messages envoyes pas la souris pour les renvoyer a ton
appli. Mais attention, il y a l'effet secondaire, c'est que cela
revient a avoir ton appli qui a le controle complet de la souris, et
quelque soit ou elle se trouve. Donc, tu ne pourras pas utiliser ta
souris pour faire d'autres choses, sauf, si evidemment, ton appli
n'as plus le controle de la souris. Mais alors, tu retombes dans ton
probleme de depart: tu ne sais plus ou se trouve le pointeur si une
autre appli prends la main., etc... C'est le serpent qui se mord la
queue.
Essaye de voir si en Java, tu peux trouver les equivalents des API
setCapture, getCapture et releaseCatpure (si tu es sous Windows
evidemment, sinon, je n'ai aucune idee).
Hum, j'ai fait un peu le tour, et je vois pas...
Bon, ben, je crois que je vais faire autrement et renoncer à l'idée que
j'avais.
Ouch! Pas facile du tout (du moins, sous Windowzs) car il faut detourner les messages envoyes pas la souris pour les renvoyer a ton appli. Mais attention, il y a l'effet secondaire, c'est que cela revient a avoir ton appli qui a le controle complet de la souris, et quelque soit ou elle se trouve. Donc, tu ne pourras pas utiliser ta souris pour faire d'autres choses, sauf, si evidemment, ton appli n'as plus le controle de la souris. Mais alors, tu retombes dans ton probleme de depart: tu ne sais plus ou se trouve le pointeur si une autre appli prends la main., etc... C'est le serpent qui se mord la queue.
Essaye de voir si en Java, tu peux trouver les equivalents des API setCapture, getCapture et releaseCatpure (si tu es sous Windows evidemment, sinon, je n'ai aucune idee).
Hum, j'ai fait un peu le tour, et je vois pas... Bon, ben, je crois que je vais faire autrement et renoncer à l'idée que j'avais.