52 lines
1.6 KiB
Java
52 lines
1.6 KiB
Java
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
// Cette classe à pour but d'afficher un menu et de réagir aux directives de l'utilisateur (lancer le jeu, le quitter...)
|
|
public class FrameJeu extends JFrame{
|
|
public FrameJeu(int lignes, int colonnes, int mines, FrameMenu menu) {
|
|
|
|
// On récupère les dimensions de l'écran pour adapter la taille par défaut de notre fenêtre
|
|
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
|
|
|
// On crée ensuite notre fenêtre
|
|
this.setTitle("Démineur - En Jeu");
|
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
// Mise en page
|
|
this.setLayout(new GridBagLayout());
|
|
GridBagConstraints miseEnPage = new GridBagConstraints();
|
|
|
|
// Création de la grille de Jeu
|
|
Grille grille=new Grille(lignes,colonnes,mines,this, menu);
|
|
|
|
// Récupération de la bannière
|
|
Banniere banniere = grille.getBanniere();
|
|
|
|
|
|
|
|
// Mise en place de la bannière
|
|
miseEnPage.fill = GridBagConstraints.BOTH;
|
|
miseEnPage.gridx = 0;
|
|
miseEnPage.gridy = 0;
|
|
miseEnPage.weightx =1;
|
|
miseEnPage.weighty = 0.15;
|
|
this.add(banniere, miseEnPage);
|
|
|
|
|
|
// Mise en place de la grille
|
|
miseEnPage.gridx = 0;
|
|
miseEnPage.gridy = 1;
|
|
miseEnPage.weightx =1;
|
|
miseEnPage.weighty = 0.85;
|
|
miseEnPage.fill = GridBagConstraints.BOTH;
|
|
this.add(grille, miseEnPage);
|
|
|
|
// Mise en place de la fenêtre et affichage
|
|
this.pack();
|
|
Dimension grilleSize= grille.getGrilleSize();
|
|
this.setSize(grilleSize.width,grilleSize.height*9/8);
|
|
Dimension fenetreSize=this.getSize();
|
|
this.setLocation(screenSize.width/2-(fenetreSize.width/2), screenSize.height/2-(fenetreSize.height/2));
|
|
this.setVisible(true);
|
|
}
|
|
} |