Grille du demineur

Résolu
s.lht - Modifié le 1 janv. 2018 à 19:40
 S.lht - 4 janv. 2018 à 21:25
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

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
4 janv. 2018 à 19:49
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...
1
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
0
jordane45 Messages postés 38048 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 mars 2024 344
1 janv. 2018 à 20:51
Bonjour,

j'ai un soucis dans mon code

Et quel est t'il ?

0
s.lht Messages postés 2 Date d'inscription lundi 1 janvier 2018 Statut Membre Dernière intervention 1 janvier 2018
Modifié le 1 janv. 2018 à 21:10
mon soucis est l'affichage
sa m'affiche plein de petit jpanel et pas sous la forme d'une grille
0
s.lht Messages postés 2 Date d'inscription lundi 1 janvier 2018 Statut Membre Dernière intervention 1 janvier 2018
1 janv. 2018 à 21:12
voila le resultat
0
Rejoignez-nous