Bonjour,
je ne comprend pas pourquoi, il n'y a pas de réaction sur "dx" quand j’appuie sur la touche gauche
j'ai longtemps chercher sur internet et pas de solution.
je ne veux pas de timer qui réinitialise tout les ms.
dois je faire une autre class. comment faire pour que cela fonctionne.
merci encore.


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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package imageTest;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
 
import java.awt.event.KeyListener; // <------------------------
import java.awt.event.KeyEvent; // <------------------------
import java.awt.event.*; // <------------------------
 
 
	public class Main extends JPanel
	{
		 private int dx; // <------------------------
 
	    BufferedImage[] bufferedImage  = new BufferedImage[100];
	    public static void main(String[] args)
	    {  
	        JFrame frame=new JFrame();
	        frame.setTitle("Ma premier fenetre");
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	        frame.setSize(800,600);
 
	        frame.getContentPane().add(new Main());
	        frame.setVisible(true);
	     } 
 
 
// <------------------------ 
	    public void keyReleased(KeyEvent e) 
	    {
	    	int key = e.getKeyCode();
 
                   if (key == KeyEvent.VK_LEFT)
                  {  
            	      dx--;
            	       repaint();
                   }  
	    }
// <------------------------
 
 
		 public void paintComponent(Graphics g)
		 { 
			 super.paintComponent(g); // <------------------------
			 for(int i=1; i<2; i++) // 1 image pour le moment
			 {
				try
				{
					this.bufferedImage[i] =ImageIO.read(new File(i + ".jpg"));
				}
				catch(IOException e)
				{
					e.printStackTrace();
				}
			 }
 
 
			 	for(int i=0; i<6; i++)
			 	{
				 	for(int j=0; j<4; j++)
				 	{
				 		g.drawImage( this.bufferedImage[1] ,i*100+dx*100,j*100,100,100,this);
				 	}
			 	} 
 
		 }  
 
 
	}