Salut,
voila j'ai un souci dans mon programme pour dessiner un gridLayout. Je m'explique :
- j'ai une classe Fenetre (JFrame)
- une classe BoiteDialogue (JDialog)
- une classe Partie (qui possede un bool demarrer)
- une classe ZoneGraphique (JPanel qui est juste un petit carre bleu)
Dans la premiere j'ai 3 attributs :
Code :
- int ligne, colonne;
- Partie partie;
- JPanel fenetre_grille;
|
Dans la seconde, j'ai 5 attributs :
Code :
- int ligne, colonne //qui sont saisi par l'utilisateur ds la boite
- Fenetre f;
- Partie p;
- JPanel bdial_grille;
|
Mon constructeur est :
Code :
- BoiteDial(Fenetre ff, Partie pp, JPanel g)
- {
- f = ff;
- p = pp;
- bdial_grille = g;
- etc..
- }
|
Dans la class Fenetre au moment d'un clic sur un bouton, j'ouvre une nouvelle boite de dialogue en appelant le constructeur de celle-ci :
Code :
- boite=new BoiteDialogue(this, partie, fenetre_grille);
|
Au moment du clic sur 'OK' de ma boite de dialogue je recupere ligne et colonne et j'affecte celles-ci a celles de ma fenetre et je fais :
Code :
- bdial_grille = new JPanel(new GridLayout(f.getLigne(), f.getColonne(),2,2));
- nbCases =f.getLigne()*f.getColonne();
- for (int i=0 ; i<nbCases ; i++)
- {
-
- ZoneGraphique carre = new ZoneGraphique(i, part);
-
- bdial_grille.add(carre);
- }
|
QUESTION: quand je clic sur 'OK' ma fenetre garde son gridLayout a null ?! elle ne recupere pas l'affectation que je lui fais dans ma boite de dialogue!?
Du coup j'ai essayer de passer mon JPanel par reference dans l'appel du constructeur ainsi que dans la definition du constructeur et j'ai une erreur a la compil : "illegal start of expression :"
Code :
- BoiteDialogue bdial = new BoiteDialogue(this,partie,&grille);
|
Quelqu'un aurait-il des suggestions!
Merci