SAE21_2021/FrameJeu.java

51 lines
1.7 KiB
Java
Raw Normal View History

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-05-04 19:53:32 +02:00
public FrameJeu(Grille grille) {
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 13:17:30 +02:00
// Mise en page
2022-04-28 13:05:26 +02:00
fenetre.setLayout(new GridBagLayout());
GridBagConstraints miseEnPage = new GridBagConstraints();
2022-05-04 23:03:02 +02:00
// Création de la bannière (qui sera dans une autre classe plus tard)
2022-04-27 17:25:07 +02:00
Dimension grilleSize= grille.getGrilleSize();
JPanel banniere= new JPanel();
2022-05-04 23:03:02 +02:00
banniere.setBackground( new Color(0, 236, 96);
2022-04-28 16:50:06 +02:00
Dimension banniereSize=new Dimension(grilleSize.width,grilleSize.height/8);
2022-04-27 17:25:07 +02:00
banniere.setSize(banniereSize);
2022-04-28 13:17:30 +02:00
// Mise en place de la bannière
2022-04-28 13:16:45 +02:00
miseEnPage.fill = GridBagConstraints.BOTH;
2022-04-28 13:05:26 +02:00
miseEnPage.gridx = 0;
miseEnPage.gridy = 0;
2022-04-28 13:16:45 +02:00
miseEnPage.weightx =1;
2022-04-28 16:50:06 +02:00
miseEnPage.weighty = 0.15;
2022-04-28 13:05:26 +02:00
fenetre.add(banniere, miseEnPage);
// Mise en place de la grille
miseEnPage.gridx = 0;
miseEnPage.gridy = 1;
2022-04-28 13:16:45 +02:00
miseEnPage.weightx =1;
2022-04-28 16:50:06 +02:00
miseEnPage.weighty = 0.85;
2022-04-28 13:16:45 +02:00
miseEnPage.fill = GridBagConstraints.BOTH;
fenetre.add(grille, miseEnPage);
2022-04-28 13:05:26 +02:00
2022-04-28 13:17:30 +02:00
// Mise en place de la fenêtre et affichage
2022-04-28 11:45:53 +02:00
fenetre.pack();
2022-04-28 16:50:06 +02:00
fenetre.setSize(grilleSize.width,grilleSize.height*9/8);
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-26 12:15:13 +02:00
fenetre.setVisible(true);
}
}