Probleme affichage d'images dans GridLayout

forzayalta Messages postés 1 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 30 mars 2006 - 30 mars 2006 à 15:55
cs_petitemainate Messages postés 29 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 14 septembre 2009 - 7 avril 2006 à 12:47
bonjour,
j'ai un gros probleme dans mon projet Java. Je dois faire un Pacman, et j'ai un bug d'affichage dans un GridLayout, qui represente le labyrinthe. En fait, j'ajoute des images dans ce GridLayout, en commencant par les mur, les graines, etc... A la fin, j'ajoute une image representant mon Pacman, puis une derniere qui represente la "maison" de laquelle partent les fantomes. Or, lorsque je lance le thread du Pacman, on visualise bien les deux images, mais le pacman vient en fait prendre la place de la derniere image ajoutée, a savoir la maison des fantomes.

voici le code de la fonction permettant d'ajouter des objets dans le labyrinthe(elle est egalement appellée dans le thread qui fait deplacer le pacman):

public static void setObjetLaby(int i, int j, ObjetLaby o)
{
//on supprime le composant actuel
laby[i][j].removeAll();
laby[i][j].validate();
//on renomme la case
if(o.getClass().getName().compareToIgnoreCase("pacman.objetLaby.objetLabyMobile.Pacman") != 0)
laby[i][j].setName(o.getClass().getName());
//nouveau gridLayout
laby[i][j].setLayout(new GridLayout(1, 1));
//ajout de l'objet o (c'est a dire de l'image) dans le grid layout
laby[i][j].add(o);
laby[i][j].validate();
laby[i][j].repaint();
}


quand je fais ca:

Fenetre.setPacman();
Fenetre.setMaisonFantomes();

le fantome prend la place de la maison, car celle ci a été placée en dernier.
Mais quand je fais le contraire, le fantome garde bien sa place d'origine, ce qui confirme bien que le probleme vient de la fonction setObjetLaby()

Merci d'avance

1 réponse

cs_petitemainate Messages postés 29 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 14 septembre 2009
7 avril 2006 à 12:47
Salut
Comment tu appelles ta fonction setObjetLaby() ?
Parce que à priori elle fonctionne, comme tu as bien tes images, mais si elle écrase l'image précédente, est-ce que ce n'est pas parce que i et j sont les mêmes ?
J'aimerai voir de quelle façon tu appelle cette fonction ^^

Bon courage,
Petitemainate

oO0OoO0Oo ><)))°> oO0OoO0OoO0Oo
0
Rejoignez-nous