Grille du demineur [Résolu]

Signaler
-
 S.lht -
Bonjour,
j'ai un soucis dans mon code
j'ai créer une classe Case qui herite de JPanel est qui ferra office de boutton du jeu démineur
et un JFrame Grille qui sera l'interface du jeu et en utilisant GridLayout
voici mon code :
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Case extends JPanel {
    int posX;
    int posY;
    JLabel nombreMineProche;
    boolean etat=false;
    boolean drapeau=false;

    public Case(int posX, int posY) {
        this.posX = posX;
        this.posY = posY;
        this.setSize(200, 200);
       this.setBackground(Color.blue);
       
    }
}



public class Grille extends javax.swing.JFrame {

    private int nombreLigne;
    private int nombreColone;
    private int nombreMine;
    private int nombreCaseDecouverte;
    JPanel pan ;
    Case cass [][];

    public Grille(int nombreLigne, int nombreColone, int nombreMine) {
        this.nombreLigne = nombreLigne;
        this.nombreColone = nombreColone;
        this.nombreMine = nombreMine;
        this.cas = new Case [400][400];
        this.setSize(500, 500);
        this.setLocation(100,100);
       pan = new JPanel(new GridLayout(nombreLigne,nombreColone));
       pan.setLayout(new FlowLayout());
       getContentPane().add(pan);
       for(int i=1 ; i<nombreLigne ; i++){
           for(int j=1 ; j<nombreColone ; j++){
          
                 Case cass = new Case(i,j);
                 pan.add(cass);
              
           }             
      
     
    }


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

Messages postés
5361
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 mars 2021
108
Salut,

la ligne "pan.setLayout(new FlowLayout());" invalide ton GridLayout que tu spécifies dans le constructeur du JPanel "pan = new JPanel(new GridLayout(nombreLigne,nombreColone));" du coup le comportement que tu as est le comportement normal du FlowLayout...
C'est bon j'ai regler mon problème effectivement en enlevant le flowlayout et après quelque modification dans le constructer de la classe case :
Public case(int posX , int posY){
This.posX= posX;
This.posY=posY;
This.setBorder(new javax.swing.border.lineBOrder(color.BLACK,1,false);
}
Mon problème affichage c'est régler
Merci pour votre aide
Messages postés
32131
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2021
345
Bonjour,

j'ai un soucis dans mon code

Et quel est t'il ?

Messages postés
2
Date d'inscription
lundi 1 janvier 2018
Statut
Membre
Dernière intervention
1 janvier 2018

mon soucis est l'affichage
sa m'affiche plein de petit jpanel et pas sous la forme d'une grille
Messages postés
2
Date d'inscription
lundi 1 janvier 2018
Statut
Membre
Dernière intervention
1 janvier 2018

voila le resultat