salut,
J essaye de realiser une interface graphique de jeu d echecs, une applet,
j ai une classe Echiquier qui est en fait un tableau de JPanel et une classe Carre qui charge tout les elements graphiques de la futur applet...
voici la classe Echiquier qui compile bien(wahou)
Code :
- class Echiquier extends JPanel {
- public Echiquier() {
- char [] tabColonne = {'a','b','c','d','e','f','g','h'};
- int[] tabLigne;
- tabLigne = new int[8];
- for (int i = 0; i<tabLigne.length; i++) {
- tabLigne[i]=i+1;
- }
- Echiquier[] tabCases = new Echiquier[64];
-
-
-
-
- //puis la boucle qui va determiner quelle couleur doit etre chaque case de l echiquier
- for (int c =0; c<64;c++) {
- for (int i =0; i<tabColonne.length;i++)
- {
- for (int j =0; j<tabLigne.length;j++)
- {
- switch(i) {
- case 'a':
- if ((j % 2) == 0) {
- tabCases[c].setBackground(Color.black);}
- case 'b':
- if ((j % 2) != 0) {
- tabCases[c].setBackground(Color.black);}
- case 'c':
- if ((j % 2) == 0) {
- tabCases[c].setBackground(Color.black);}
- case 'd':
- if ((j % 2) != 0) {
- tabCases[c].setBackground(Color.black);}
- case 'e':
- if ((j % 2) == 0) {
- tabCases[c].setBackground(Color.black);}
- case 'f':
- if ((j % 2) != 0) {
- tabCases[c].setBackground(Color.black);}
- case 'g':
- if ((j % 2) == 0) {
- tabCases[c].setBackground(Color.black);}
- case 'h':
- if ((j % 2) != 0) {
- tabCases[c].setBackground(Color.black);}
-
-
-
-
- default: {
-
- tabCases[c].setBackground(Color.white);
- }
- add(tabCases[c]);
- }
- }
- } }
- }
- }
|
voila je pense que ca ca devrait generer 64 Jpanel pouvant correspondre a un echiquier..
Mais le probleme survient lorsque j essaye de dire a ma classe Carre de charger chaque Jpanel dans une case d un gridLayout!! , j y arrive pas
voici la class Carre bien qu y est pas grand chose...
Code :
- public class Carres extends JApplet {
- //Image im;
- public void init() {
- getContentPane().setLayout(new GridLayout(8,8));
- int i;
- for (i=0;i<64;i++) {
- //C la ou ca foire evidemment "cannot resolv symbol Method Echiquier(int)"
- add(Echiquier(i));
- }
- }
- }
|
Je sens que j m y prends vraiment mal la! mais comment faire alors pour que dans chaque case du gridLayout il m ajoute un de mes 64 JPanel prefabriques 8O ?
merci