Re Affichage Tableau 2D !!!!

mimilavitrine Messages postés 54 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 15 octobre 2006 - 20 juin 2005 à 18:13
mimilavitrine Messages postés 54 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 15 octobre 2006 - 20 juin 2005 à 22:17
je debute en java J'ai un probleme pour afficher un tableau 2D d'image Icon

Quand je compile j'ai ma fenetre mais je n'ai qu'une seule image null
qui apparait sur la ligne du milieu de la fenetre a gauche autrement
dit Tab[6][0] a priori est ce que quelqu'un peut m'aider SVP car je ne
voix pas du tout ou se situe l'erreur


Merci d'avance



import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.*;

import javax.swing.ImageIcon;

import javax.swing.Timer;

import javax.swing.JFrame;

import javax.swing.JLabel;

import java.awt.GridLayout;



public class Jeux extends JFrame {



//---------------------------------------------

//

// Déclaration des variables de la classe

//

//---------------------------------------------

public int Hauteur 600, Largeur 300, X = 150, Y = 100;

public Scene scene; // la scene va créer la zone de jeux

public BriqueJeux brique; // brique de jeux peut etre etre déplacer

public Timer timer; // permet de gerer le jeux et la descente des briques

public ImageIcon [][] tab; // tableau de jeux

public boolean bool;

private static int temp = 1000; // temp pour le timer

public static JFrame fenetre ;





public Jeux () // constructeur par defaut

{

// initialisation des données de la classe

scene = new Scene ();

tab = scene.getTjeux(); // recupération du tableau de jeux

//initialisation d'un tableau de type bloc d'image

fenetre = new JFrame ("Puyo");

fenetre.setBounds(X,Y , 300 , 600);

GridLayout grille = new GridLayout (6, 12);

JLabel j = new JLabel ();

j.setLayout(grille);

//j.applyComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);

int y ;

for (int i = 0 ; i < 12; i++)

{

for (y = 0 ; y < 6; y++)

{

j.setIcon(tab[i][y]);

fenetre.getContentPane().add(j);

}

}

//fenetre.setContentPane(j);

fenetre.setVisible(true);

}

public static void main(String[] args)

{

// création d'un nouveaux jeux

Jeux jeux = new Jeux ();



}

}





////////////////////////////////////////////

public class Scene {



///////////////////////////////////////////////////

//

// DEClARATION des variables



private static int nbcaseH 12 , nbcaseL 6 ; // ces variables permettent de donnée les nombres$




// cases en hauteur et en largeur



private ImageIcon [][] Tjeux; // tableau qui permet de gerer la fenetre de jeux



public ImageIcon imgnull = new ImageIcon ("image/null.png");



////////////////////////////////////////////////////

//

// Constructeur de la classe

//



public Scene () // constructeur initialisant les variables utile de la scene

{

Tjeux = new ImageIcon [nbcaseH][nbcaseL]; // initialisation du





// tableau de jeux

for (int i = 0 ; i < nbcaseH ;
i++ ) // toutes les cases

{



// sont a null

for (int j = 0 ; j < nbcaseL ; j++)

{

Tjeux[i][j] = imgnull;

}

}

}

4 réponses

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
20 juin 2005 à 18:35
tu fais apelles à la méthode getTjeux pour récupérer le tableau mais je ne la voie nulle part dans la classe Scene.
0
mimilavitrine Messages postés 54 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 15 octobre 2006
20 juin 2005 à 18:38
Excuse moi j'ai oublier de la mettre



public ImageIcon [][] getTjeux() // accesseur sur la donnée privé Tjeux

{

return Tjeux;// retourne le Tableau 2D de jeux

}
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
20 juin 2005 à 20:13
la jvm ne voit qu'une seule référence(j) sur un jlabel donc elle ajoute
toujours le même jlabel au meme endroit. la solution est de créer un
tableau de jlabel.



Qui serait bien, ce serait que tu approfondisses les notions
d'héritage. Car ta classe jeux hérite déja de jframe donc tu n'a pas
besoin de créer fenetre qui est une jframe.
0
mimilavitrine Messages postés 54 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 15 octobre 2006
20 juin 2005 à 22:17
Est ce que je doit faire un tableau 2D de JLabel ??? par contre je ne vois pas ce que l'on appelle un jvm

en tout cas merci d'avoir repondu merci beaucoup
0
Rejoignez-nous