2022-04-26 12:15:13 +02:00
|
|
|
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{
|
2022-04-27 17:25:07 +02:00
|
|
|
public FrameJeu(Grille grille, int mines) {
|
2022-04-26 12:15:13 +02:00
|
|
|
|
|
|
|
// 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();
|
|
|
|
|
2022-04-26 12:53:34 +02:00
|
|
|
// On crée ensuite notre fenêtre avec des valeurs par défaut
|
2022-04-26 12:15:13 +02:00
|
|
|
JFrame fenetre = new JFrame("Démineur - En Jeu");
|
|
|
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
|
2022-04-27 17:25:07 +02:00
|
|
|
|
|
|
|
|
2022-04-28 11:45:53 +02:00
|
|
|
|
2022-04-27 17:25:07 +02:00
|
|
|
|
|
|
|
// En test
|
2022-04-28 13:05:26 +02:00
|
|
|
|
|
|
|
// Couleurs
|
|
|
|
//Color rose = new Color(236,0,140);
|
2022-04-28 11:45:53 +02:00
|
|
|
Color vert = new Color(0, 236, 96);
|
2022-04-27 17:25:07 +02:00
|
|
|
|
2022-04-28 13:05:26 +02:00
|
|
|
//Essai de mise en page car la bannière est par dessus la grille
|
|
|
|
fenetre.setLayout(new GridBagLayout());
|
|
|
|
GridBagConstraints miseEnPage = new GridBagConstraints();
|
|
|
|
|
|
|
|
|
|
|
|
// Création de la bannière (qui sera dans une autre classe)
|
2022-04-27 17:25:07 +02:00
|
|
|
Dimension grilleSize= grille.getGrilleSize();
|
|
|
|
JPanel banniere= new JPanel();
|
2022-04-28 11:45:53 +02:00
|
|
|
banniere.setBackground(vert);
|
2022-04-28 13:05:26 +02:00
|
|
|
Dimension banniereSize=new Dimension(grilleSize.width,grilleSize.height/9);
|
2022-04-27 17:25:07 +02:00
|
|
|
banniere.setSize(banniereSize);
|
|
|
|
|
2022-04-28 13:05:26 +02:00
|
|
|
// mise en place de la bannière
|
|
|
|
miseEnPage.fill = GridBagConstraints.HORIZONTAL;
|
|
|
|
miseEnPage.gridx = 0;
|
|
|
|
miseEnPage.gridy = 0;
|
|
|
|
miseEnPage.weightx =banniereSize.width;
|
|
|
|
miseEnPage.ipady = banniereSize.height;
|
|
|
|
fenetre.add(banniere, miseEnPage);
|
|
|
|
|
|
|
|
|
|
|
|
// Mise en place de la grille
|
|
|
|
//miseEnPage.fill = GridBagConstraints.BOTH;
|
|
|
|
miseEnPage.anchor = GridBagConstraints.SOUTHEAST;
|
|
|
|
miseEnPage.gridx = 0;
|
|
|
|
miseEnPage.gridy = 1;
|
|
|
|
miseEnPage.weightx =grilleSize.width;
|
|
|
|
miseEnPage.ipady = grilleSize.height;
|
|
|
|
fenetre.add(grille.getGrille(), miseEnPage);
|
|
|
|
|
|
|
|
|
2022-04-28 11:45:53 +02:00
|
|
|
fenetre.pack();
|
2022-04-28 13:05:26 +02:00
|
|
|
fenetre.setSize(grilleSize.width,grilleSize.height*10/9);
|
2022-04-28 11:45:53 +02:00
|
|
|
Dimension fenetreSize=fenetre.getSize();
|
|
|
|
fenetre.setLocation(screenSize.width/2-(fenetreSize.width/2), screenSize.height/2-(fenetreSize.height/2));
|
2022-04-28 13:05:26 +02:00
|
|
|
//fenetre.setResizable(false);
|
2022-04-26 12:15:13 +02:00
|
|
|
fenetre.setVisible(true);
|
|
|
|
}
|
|
|
|
}
|