SAE21_2022/FenetreImpGrille.java

69 lines
2.6 KiB
Java

import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;
public class FenetreImpGrille extends Fenetre {
protected FenetreImpGrille(){
super();
}
protected void ImporterGrille(int Taille, int Lentre, int Centre, int Lortie, int Cortie, int[] un_tab){
/* ================================================================ Déclaration des variables ============================================================================= */
int compteur=0;
int[][] ce_double_tab = new int[Taille][Taille];
/* =============================================================== Gestion des paramètres de la fenètre ========================================================================== */
/*Création de la fenètre */
this.fenetre.setSize(600, 600);
/*Mise en place du grid layout */
GridLayout gestionnaire = new GridLayout(Taille,Taille);
this.fenetre.setLayout(gestionnaire);
/* ================================================================================================================================================================ */
/* remplissage du tab 1 */
for(int i=0; i<Taille; i++){
for(int j=0; j<Taille; j++){
ce_double_tab[j][i] = un_tab[compteur];
compteur++;
}
}
/* ======================================================================================================================================= */
// Gestion du remplissage des case
for(int i=0; i<Taille; i++){
for(int j=0; j<Taille; j++){
JPanel ce_pannel = new JPanel();
if((i*Taille+j)==(Lentre*Taille+Centre)){
ce_pannel.setBackground(Color.RED);
this.fenetre.add(ce_pannel);
} else if((i*Taille+j)==(Lortie*Taille+Cortie)){
ce_pannel.setBackground(Color.BLUE);
this.fenetre.add(ce_pannel);
} else if(ce_double_tab[i][j] == 1){
ce_pannel.setBackground(Color.BLACK);
this.fenetre.add(ce_pannel);
} else{
JPanel ce_panel = new JPanel();
Border border = BorderFactory.createLineBorder(Color.BLACK, 1);
ce_panel.setBorder(border);
ce_panel.setBackground(Color.WHITE);
this.fenetre.add(ce_panel);
}
}
}
this.fenetre.setVisible(true);
}
}