refactor: split in init vueGrille initialization of vueGrille rather than in constructor

This commit is contained in:
2025-05-19 23:01:43 +02:00
parent a3854362c8
commit 8eafa03d77
2 changed files with 25 additions and 26 deletions

View File

@@ -31,23 +31,7 @@ public class VueGrille extends JPanel implements Observer, Runnable {
this.nbLignes = grille.getNbLignes();
this.nbColonnes = grille.getNbColonnes();
setLayout(new BorderLayout());
grillePanel = new JPanel(new GridLayoutCarre(nbLignes, nbColonnes)); // pour que les cases soient carrés
add(grillePanel, BorderLayout.CENTER);
casesGrille = new JPanel[nbLignes][nbColonnes];
for (int i = 0; i < nbLignes; i++) {
for (int j = 0; j < nbColonnes; j++) {
JPanel caseG = new JPanel() {
@Override
public Dimension getPreferredSize() {
return super.getPreferredSize();
}
};
caseG.setBackground(Color.WHITE);
caseG.setBorder(BorderFactory.createLineBorder(Color.GRAY));
casesGrille[i][j] = caseG;
grillePanel.add(caseG);
}
}
initialiserVueGrille();
grille.addObserver(this);
jeu.addObserver(this);
@@ -81,10 +65,20 @@ public class VueGrille extends JPanel implements Observer, Runnable {
}
private void initialiserVueGrille() {
for (int i = 0; i < grille.getNbLignes(); i++) {
for (int j = 0; j < grille.getNbColonnes(); j++) {
JPanel caseG = new JPanel();
grillePanel = new JPanel(new GridLayoutCarre(nbLignes, nbColonnes)); // pour que les cases soient carrés
add(grillePanel, BorderLayout.CENTER);
casesGrille = new JPanel[nbLignes][nbColonnes];
for (int i = 0; i < nbLignes; i++) {
for (int j = 0; j < nbColonnes; j++) {
JPanel caseG = new JPanel() {
@Override
public Dimension getPreferredSize() {
return super.getPreferredSize();
}
};
caseG.setBackground(Color.WHITE);
caseG.setBorder(BorderFactory.createLineBorder(Color.GRAY));
casesGrille[i][j] = caseG;
grillePanel.add(caseG);
}
}