Bonjour,

J'ai un JPanel inclus dans un JScrollPane.
Sur le JPanel je dessine un rond que je veux faire bouger avec les touches de direction du clavier. Jusque là rien de bien original.

J'ai donc déclaré mon JPanel focusable (setFocisable(true)) pour qu'il puisse recevoir les KeyEvent et j'ai ajouté un KeyListener

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
21
 
        carte.addKeyListener(new KeyListener()
        {
			@Override
			public void keyPressed(KeyEvent e) { clavier(e);}; 
 
			@Override
			public void keyReleased(KeyEvent e) 
			{
 
				System.out.println(e);				
 
			}
 
			@Override
			public void keyTyped(KeyEvent e) 
			{
				System.out.println(e);				
			}
 
        });
carte est mon JPanel et clavier() est la méthode qui va déplacer le rond.

Mon problème vient du fait que le JScrollPane semble intercepter lui aussi les KeyEvent et la vue se déplace avec les touches de direction en même temps que le rond.

Je voudrai que seul le rond dessiné se déplace.

Une idée ?