gérer les différents boutons de la souris

gérer les différents boutons de la souris - Java - Programmation

Marsh Posté le 29-04-2003 à 15:29:53    

Bonjour,
 
Je précise tout de suite, qu'il ne s'agit pas d'une applet.
Pour l'instant je gère le déplacement de la souris (move et drag), et le clic (clic et release). Mais je voudrais agir différemment en fonction du bouton (de la souris) sur lequel j'appuie.
Y a-t-il un moyen de savoir sur quel bouton (tjrs de la souris) on a appuyé ??
 
Dans un premier temps, je me contenterai très bien de gérer le clic gauche et le clic droit.
 
Merci
 
PS: par la même occasion, comment faire pour déplacer la souris (y a-t-il une instruction qui peut faire ça (en lui donnant les valeurs de déplacement) ?


Message édité par vink le 29-04-2003 à 15:33:35

---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 29-04-2003 à 15:29:53   

Reply

Marsh Posté le 29-04-2003 à 17:22:43    

vink a écrit :

Bonjour,
 
Je précise tout de suite, qu'il ne s'agit pas d'une applet.
Pour l'instant je gère le déplacement de la souris (move et drag), et le clic (clic et release). Mais je voudrais agir différemment en fonction du bouton (de la souris) sur lequel j'appuie.
Y a-t-il un moyen de savoir sur quel bouton (tjrs de la souris) on a appuyé ??
 
Dans un premier temps, je me contenterai très bien de gérer le clic gauche et le clic droit.


 
C'est tres facile ! tout est marqué dans la javadoc de sun (dsl, je l'ai pas en tete)
 

vink a écrit :


PS: par la même occasion, comment faire pour déplacer la souris (y a-t-il une instruction qui peut faire ça (en lui donnant les valeurs de déplacement) ?


 
C'est possible, j'ai un pote qui l'a fait ... a l'occasion je lui demanderai ...


---------------
get amaroK plugin
Reply

Marsh Posté le 29-04-2003 à 18:34:36    

c'est bon ça marche, juste une fonction que je n'avais pas vue: getButton()
 
Par contre, je cherche toujours à déplacer ma souris (la placer en haut à gauche d'une frame par exemple).


---------------
Nos seules limites sont celles que nous nous imposons
Reply

Marsh Posté le 29-04-2003 à 22:58:59    

La classe qui gère ça doit être un truc du genre RobotAWT (de mémoire) ...


---------------
get amaroK plugin
Reply

Marsh Posté le 04-04-2005 à 17:03:18    

salut,
 
je m'interresse aussi a recuperer l'état des bouton.
cependant j'ai un petit souci:
la fonction getButton() de MouseEvent renvoie une constante qui peu etre :
NOBUTTON, BUTTON1, BUTTON2, BUTTON3
super mais comment je fait si ma souris a + de 3 boutons (en l'occurence elle en a 4)???
 
merci d'avance pour votre aide

Reply

Marsh Posté le 04-04-2005 à 18:42:56    

Tu parles de boutons sur le coté par exemple ? Je ne suis aps sur que ce soit dans Java ça....

Reply

Marsh Posté le 04-04-2005 à 20:52:16    

pas dans java?? c'est a dire?
 
et oui je parle par exemple pour une souris genre celle ci qui a deux bouton (gauche droite) + la molette clicable et + un bouton devant la molette.
 
comment faire pour differencier les boutons?

Reply

Marsh Posté le 06-04-2005 à 12:59:08    

personne?


---------------
Mes ventes vers Grenoble & Gresivaudan
Reply

Marsh Posté le 06-04-2005 à 14:58:33    

généralement la souris a 3 boutons (enfin à la base) si tu veux en gerer plus ca va etre difficile mais je n'y vois pas trop d'interet ... pour ce qui est des déplacements va voir dans l'api et cherche mouselistener et mousemotionlistener il y a tout ce qu'il faut ;)

Reply

Marsh Posté le 06-04-2005 à 18:28:43    

zut alors!
justement il me faut detecter le clic sur le 4eme bouton...
comment je vais faire ca moi :/
une petite idee
 
et merci pour l'info sur l'api mais je ne me preocupe pas des mouvements, juste des clic


---------------
Mes ventes vers Grenoble & Gresivaudan
Reply

Marsh Posté le 06-04-2005 à 18:28:43   

Reply

Marsh Posté le 07-04-2005 à 18:00:51    

quelqu'un sait comment sont gerer les sours a + de 3 boutons?
 
c'est super important pour moi de pouvoir gerer ce 4 eme bouton :)


---------------
Mes ventes vers Grenoble & Gresivaudan
Reply

Marsh Posté le 08-04-2005 à 17:51:07    

mandagor a écrit :


la fonction getButton() de MouseEvent renvoie une constante qui peu etre :
NOBUTTON, BUTTON1, BUTTON2, BUTTON3
super mais comment je fait si ma souris a + de 3 boutons (en l'occurence elle en a 4)???
 
merci d'avance pour votre aide


 
Elle renvoie quoi la fonction getButton quand on clique sur les autres boutons ?

Reply

Marsh Posté le 09-04-2005 à 07:12:44    

La source MouseEvent.java :
 

Code :
  1. public static final int BUTTON3 = 3;
  2. ...
  3.     public MouseEvent(Component source, int id, long when, int modifiers,
  4.                       int x, int y, int clickCount, boolean popupTrigger,
  5.                       int button)
  6.     {
  7.         super(source, id, when, modifiers);
  8.         this.x = x;
  9.         this.y = y;
  10.         this.clickCount = clickCount;
  11.         this.popupTrigger = popupTrigger;
  12. -->     if (button < NOBUTTON || button >BUTTON3) {
  13.             throw new IllegalArgumentException("Invalid button value" );
  14.         }
  15.         this.button = button;
  16.         if ((getModifiers() != 0) && (getModifiersEx() == 0)) {
  17.     setNewModifiers();   
  18. } else if ((getModifiers() == 0) &&
  19.                    (getModifiersEx() != 0 ||
  20.                     button != NOBUTTON))
  21.         {
  22.     setOldModifiers();
  23. }
  24.     }


 
bref, tu peux tjrs essayer de créer une nouvelle classe MyMouseEvent en changeant la limitation et en rajoutant BUTTON4 (copier/coller)
Apres t'auras ptet MyMouseListener à ajouter, voire d'autre aussi ...
 
si tu le fais, dis-nous le résultat :)


Message édité par TheRom_S le 09-04-2005 à 07:15:10

---------------
The Rom's, à votre service
Reply

Marsh Posté le 11-04-2005 à 10:17:59    

merci pour vos reponses.
 
quand je clique sur le 4eme bouton rien ne se passe, je ne rentre meme pas dans ma fonction d'evenement du clic souris (public void mouseClicked(MouseEvent e) )
ces boutons suplementaires doivent etre gérés à partir du driver de la souris... :(
 
donc meme en changeant la class mouseevent il ne sera pas detecté helas...
 
comment faire alors.
 
je me demande si je pourai pas contourner temporairement le probleme en affectent une touche special dans le driver de la souris et detecter l'appuis sur cette touche.
 
mais ce n'est pas une bonne solution à long terme
 
d'autre avis?


Message édité par mandagor le 11-04-2005 à 10:19:04

---------------
Mes ventes vers Grenoble & Gresivaudan
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed