Salut tout le monde,
j'aimerais me lancer dans la 2D pour créer un inventaire pour jeu où on aurait la possibilité de déplacer son objet avec la souris dans une case et aussi faire les déplacements sélective avec les flèches du clavier.

Pour le moment je m'entraine sur cette fenêtre.
Nom : Capture2.PNG
Affichages : 1281
Taille : 6,6 Ko

Ma JFrame:
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
 
import javax.swing.JFrame;
 
public class Programme extends JFrame {
 
	static Panneau panneau = new Panneau();;
	static Commande commande = new Commande();
	static JFrame jf = new JFrame();
 
	static String titre = "Fenetre graphique";
	static int largeur = 900;
	static int hauteur = 200;
 
	public Programme(){
		this.setTitle(titre);
		this.setSize(largeur, hauteur);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
		this.addKeyListener(commande);
		this.setContentPane(panneau);
 
		this.setVisible(true);
	}
 
	public static void main(String[] args) {
		Programme programme = new Programme();
 
	}
 
}
Ma JPanel:
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
 
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
 
import javax.swing.JPanel;
 
public class Panneau extends JPanel {
 
	static int xx = Commande.getVelX();
	static int yy = Commande.getVelY();
 
	public void paintComponent(Graphics g) {
 
		Graphics2D g2 = (Graphics2D) g;
 
		int decalageX = 120;
		int decalageY = 90;
 
		// ASPEcT VISUEL
		g.setColor(Color.BLACK);
		g.fillRect(5, 5, 64, 64);
		g.setColor(Color.YELLOW);
		g.drawRect(7, 7, 59, 59);
 
 
 
		// LE TABLEAU INVENTAIRE
		g.setColor(Color.BLACK);
		for (int i = 0; i < 9; i++) {
			g.fillRect(0 + decalageX, 0 + decalageY, 64, 64);
			decalageX += 70;
		}
 
		// OBJECT VISUEL DE SELECTION
			g.setColor(Color.YELLOW);
			g.drawRect(192 + xx, 92 + yy, 59, 59);
	}
}
ma 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
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
75
76
77
78
 
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
 
public class Commande implements KeyListener{
 
	static Panneau panneau;
 
	static int x = 0;
	static int y = 0;
 
	static int velX = 0;
	static int velY = 0;
 
	public Commande() {}
 
 
	// GETTERS AND SETTERS
	public static int getX() {
		return x;
	}
 
	public static void setX(int x) {
		Commande.x = x;
	}
 
	public static int getY() {
		return y;
	}
 
	public static void setY(int y) {
		Commande.y = y;
	}
 
	public static int getVelX() {
		return velX;
	}
 
 
	public static void setVelX(int velX) {
		Commande.velX = velX;
	}
 
 
	public static int getVelY() {
		return velY;
	}
 
 
	public static void setVelY(int velY) {
		Commande.velY = velY;
	}
 
 
	// KEYLISTENER
	@Override
	public void keyPressed(KeyEvent e) {
		if(e.getKeyCode() == KeyEvent.VK_LEFT){
			System.out.println("Fleche Gauche"+ velX);
			velX++;
		}
 
		if(e.getKeyCode() == KeyEvent.VK_RIGHT){
			System.out.println("Fleche Droite :" + velX);
			velX--;
		}
 
	}
 
 
	@Override
	public void keyReleased(KeyEvent e) {}
 
 
	@Override
	public void keyTyped(KeyEvent e) {}
 
}

Mon souci c'est que je n'arrive pas a déplacer la drawRect (l'outils de sélection) de gauche à droite avec les flèches du clavier, j'aimerais un petit coup de main pour comprendre mon erreur, ça fait quelques jours que je bute sur ce problème.
Par avance merci.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
// OBJECT VISUEL DE SELECTION
g.setColor(Color.YELLOW);
g.drawRect(xx + 192, 92 + yy, 59, 59);


PS: Un autre aspect que j'aimerais réaliser une fois que j'aurais assimiler les bonnes syntaxes pour les bons fonctionne du code.
Nom : Capture.PNG
Affichages : 1239
Taille : 12,7 Ko