Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1397 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Behavior problème gestion souris molette + deplacement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Behavior problème gestion souris molette + deplacement

n°1848405
stany13
Posté le 07-02-2009 à 17:49:32  profilanswer
 

Bonjour à tous ,
j'ai un projet pour mon IUT. C'est un programme en java , utilisant Java3D ( donc graphe de scène ) qui permet de visualiser en 3d des données 2d ou autres et je dois m'occuper de la gestion de la souris mais j'ai un problème.
 
En effet,j'arrive à gérer les déplacements de la souris lorsque celle-ci est DRAG , je souhaite aussi gérer la molette par exemple pour un zoom.
Or j'arrive soit à faire les déplacements soit la roulette mais pas les 2 en même temps et je ne trouve pas de solutions.
 
Je colle mon code si jamais quelqu'un voit mon erreur :)
 
Si je remplace (MouseEvent.MOUSE_DRAGGED | MouseEvent.MOUSE_WHEEL); par (MouseEvent.MOUSE_DRAGGED & MouseEvent.MOUSE_WHEEL); j'arrive à avoir la roulette mais plus le deplacement ...
 
 

Code :
  1. class MyMouse extends Behavior{
  2. private TransformGroup         TG;                                                   
  3. private Transform3D             rot         = new Transform3D();                       
  4. private Transform3D             rotation    = new Transform3D();   
  5. private Vector3f                  translation = new Vector3f();                        
  6. private WakeupOnAWTEvent  mouseEvent = new WakeupOnAWTEvent(MouseEvent.MOUSE_DRAGGED | MouseEvent.MOUSE_WHEEL);
  7. private float pasPos =           0.01f;
  8. private float pasNeg =          -0.01f; 
  9. private int mouseXlast,mouseYlast,mouseX,mouseY;
  10. /**Constructeur*/
  11. MyMouse(TransformGroup argTG){   TG=argTG;   }
  12. /** Initialise le Behaviour*/       
  13. public void initialize(){
  14.  /** Activation des criteres de reveil = touche **/
  15.         wakeupOn(mouseEvent);
  16.  setSchedulingBounds(new BoundingSphere(new Point3d(),1000.0)); 
  17. }
  18. /**
  19.  * Methode de traitement de l'action (actionPerformed pour les ActionListener:p)
  20.  */       
  21. public void processStimulus(Enumeration criteria){                                                           
  22.  AWTEvent events[]=mouseEvent.getAWTEvent();
  23.                 rot.setIdentity();
  24.  TG.getTransform(rotation);
  25.   
  26.  if (((MouseEvent)events[0]).getID()==MouseEvent.MOUSE_DRAGGED){ 
  27.    mouseX = ((MouseEvent)events[0]).getX();
  28.    mouseY = ((MouseEvent)events[0]).getY();
  29.   //Gestion de la souris pour Y
  30.   if ( mouseYlast < mouseY )        rot.rotX(pasNeg);
  31.   if ( mouseYlast > mouseY )        rot.rotX(pasPos);
  32.   //Gestion de la souris pour X  
  33.   if ( mouseXlast < mouseX )        rot.rotY(pasNeg);
  34.   if ( mouseXlast > mouseX )        rot.rotY(pasPos);
  35.                 }
  36.  mouseXlast = mouseX;
  37.  mouseYlast = mouseY;
  38.  if (((MouseEvent)events[0]).getID()==MouseEvent.MOUSE_WHEEL){ 
  39.    System.out.println("[informations] Roulette utilisee !" );
  40.  }
  41.  rotation.mul(rot);         
  42.  TG.setTransform(rotation);
  43.  this.wakeupOn(mouseEvent);
  44. }
  45.     }

mood
Publicité
Posté le 07-02-2009 à 17:49:32  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Behavior problème gestion souris molette + deplacement

 

Sujets relatifs
Problème pattern Decorateur FilterInputStream et classe de test.probleme lors de l'envoie d'un email en php
Zip, probleme de pathproblème balayage de cellule en vba
Vba else if problemePbm pour desactiver molette souris access 2003 avec dll
[CSS] Probleme centrage texteProbleme mémoire / Ogre3D
Gestion du RTS sur un port série 
Plus de sujets relatifs à : Behavior problème gestion souris molette + deplacement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR