Bonjour,

je souhaite utiliser la souris pour gérer les rotations d'un objet dans mon application 3D. Pour cela, j'ai besoin des coordonnées du clic au moment où l'on presse le bouton puis des coordonnés du pointeur quand le bouton est enfoncé.
Mais il y a un souci, voilà l'exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
public class Souris3D implements MouseListener, MouseMotionListener, MouseWheelListener
{
private int OldX, OldY ;
...
public void mousePressed(MouseEvent me) // Quand on presse sur le bouton
	{
	OldX = me.getX() ;
	OldY = me.getY() ;
	System.out.println("mousePressed Old = " + OldX + " " + OldY + "-------------------------->>>>>>>>>>>>>>>>>>") ;
	}
...
public void mouseDragged(MouseEvent me) // Mouvement de la souris bouton enfoncé.
	{
	System.out.println("mouseDragged : " + me.getX() + " " + me.getY() + " Old = " + OldX + " " + OldY) ;
	OldX = me.getX() ;
	OldY = me.getY() ;
	}
...
}
Mais entre les deux fonctions, les valeurs de OldX et OldY sont perdues, voilà l'affichage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
mousePressed Old = 558 439-------------------------->>>>>>>>>>>>>>>>>>
mouseDragged : 558 431 Old = 345 324
mouseDragged : 558 424 Old = 558 431
mouseDragged : 557 422 Old = 558 424
On voit que dans le méthode moussePress les valeurs sont changées, mais dans la méthode mousseDragged elles sont différentes.

Est ce que quelqu'un sait pourquoi ?
Si oui, comment contourner le souci ?

Merci par avance...