Je suis débutant à l'aide
Fermé
Novice++
Messages postés
2
Date d'inscription
lundi 25 février 2013
Statut
Membre
Dernière intervention
25 février 2013
-
25 févr. 2013 à 14:05
Novice++ - 26 févr. 2013 à 12:02
Novice++ - 26 févr. 2013 à 12:02
A voir également:
- Je suis débutant à l'aide
- Logiciel de programmation pour débutant - Guide
- Formation sap débutant pdf ✓ - Forum Logiciels
- Logiciel montage vidéo débutant - Guide
- Salaire mangaka débutant ✓ - Forum Loisirs / Divertissements
- Cours d'infographie pour debutant - Forum Graphisme
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 févr. 2013 à 14:22
25 févr. 2013 à 14:22
"l'objet plateau est un gridlayout de 64 case"
Attention aux confusions ! Le GridLayout permet de gérer la mise en forme des Component dans le Container, mais les Layout ne sont pas des Component eux même, ils ne possèdent pas eux même les Component, qui doivent eux être stockés dans un Container (un JPanel par exemple).
Il faudrait que tu lies ton objet échiquier à ton objet plateau, par exemple en le passant en paramètre du constructeur :
Comme cela lorsque tu as ton action de clic sur la case, tu peux directement utiliser les méthodes de ta classe Echiquier.
En supposant que tes différentes cases sont dans une matrice cases[8][8], et que tu veux utiliser une méthode "selection" sur ton Echiquier, alors tu devrais avoir quelque chose comme ça :
Attention aux confusions ! Le GridLayout permet de gérer la mise en forme des Component dans le Container, mais les Layout ne sont pas des Component eux même, ils ne possèdent pas eux même les Component, qui doivent eux être stockés dans un Container (un JPanel par exemple).
Il faudrait que tu lies ton objet échiquier à ton objet plateau, par exemple en le passant en paramètre du constructeur :
private final Echiquier ech; public Plateau(Echiquier echiquier) { ech = echiquier; ... }
Comme cela lorsque tu as ton action de clic sur la case, tu peux directement utiliser les méthodes de ta classe Echiquier.
En supposant que tes différentes cases sont dans une matrice cases[8][8], et que tu veux utiliser une méthode "selection" sur ton Echiquier, alors tu devrais avoir quelque chose comme ça :
cases[i][j].addMouseListener(new MouseListener() { public void mouseClicked() { ech.selection(i,j); // code qui indique à l'échiquier quelle case a été cliquée } ... });