Grille du demineur [Résolu]

s.lht - 1 janv. 2018 à 19:16 - Dernière réponse :  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.
Afficher la suite 

5 réponses

Répondre au sujet
Twinuts 5260 Messages postés dimanche 4 mai 2003Date d'inscriptionModérateurStatut 18 avril 2018 Dernière intervention - 4 janv. 2018 à 19:49
+1
Utile
1
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...
Cette réponse vous a-t-elle aidé ?  
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
Commenter la réponse de Twinuts
jordane45 20558 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 1 janv. 2018 à 20:51
0
Utile
2
Bonjour,

j'ai un soucis dans mon code

Et quel est t'il ?

s.lht 2 Messages postés lundi 1 janvier 2018Date d'inscription 1 janvier 2018 Dernière intervention - 1 janv. 2018 à 21:09
mon soucis est l'affichage
sa m'affiche plein de petit jpanel et pas sous la forme d'une grille
s.lht 2 Messages postés lundi 1 janvier 2018Date d'inscription 1 janvier 2018 Dernière intervention - 1 janv. 2018 à 21:12
voila le resultat
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.