2023-04-18 12:29:43 +02:00
import java.awt.* ;
import javax.swing.* ;
import javax.swing.border.Border ;
public class FenetreImpGrille extends Fenetre {
2023-04-19 19:13:00 +02:00
public FenetreImpGrille ( ) {
2023-04-18 12:29:43 +02:00
super ( ) ;
}
2023-04-19 19:13:00 +02:00
public void ImporterGrille ( int Taille , int Lentre , int Centre , int Lortie , int Cortie , int [ ] un_tab ) {
2023-04-18 12:29:43 +02:00
/* ================================================================ 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 ( ) ;
2023-04-19 00:13:00 +02:00
if ( ( i * Taille + j ) = = ( Lentre * Taille + Centre ) ) {
2023-04-18 12:29:43 +02:00
ce_pannel . setBackground ( Color . RED ) ;
this . fenetre . add ( ce_pannel ) ;
2023-04-19 00:13:00 +02:00
} else if ( ( i * Taille + j ) = = ( Lortie * Taille + Cortie ) ) {
2023-04-18 12:29:43 +02:00
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 ) ;
}
}