test affichage fenêtre

This commit is contained in:
Haïssous Kayyissa 2022-04-26 12:15:13 +02:00
parent 81404b60a6
commit 94c54d9b88
4 changed files with 78 additions and 8 deletions

View File

@ -5,7 +5,7 @@ public class Etoile extends JComponent {
@Override
protected void paintComponent(Graphics pinceau) {
Graphics etoile = pinceau.create();
int[] x={0,40,50,60,100,70,90,50,20,40};
int[] x={0,35,50,65,100,70,90,50,20,35};
int[] y={40,40,0,40,40,60,100,80,100,80};
etoile.setColor(Color.MAGENTA);
etoile.fillPolygon(x,y,10);

71
FrameJeu.java Normal file
View File

@ -0,0 +1,71 @@
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{
public FrameJeu(int lignes, int colonnes) {
// 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();
int frameWidth = screenSize.width * 2/3;
int frameHeight = screenSize.height * 2/3;
int frameLocation[]={screenSize.width * 1/6, screenSize.height * 1/6};
// On crée ensuite notre fenêtre
JFrame fenetre = new JFrame("Démineur - En Jeu");
fenetre.setSize(frameWidth,frameHeight);
fenetre.setLocation(frameLocation[0],frameLocation[1]);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// On créer La grille de jeu
// Découpage de la fenêtre en fonction des paramètres pour la mise en place du damier
Dimension damierSize = fenetre.getSize();
Dimension caseSize = new Dimension(frameWidth/colonnes,frameWidth/colonnes);
GridLayout damier = new GridLayout(lignes,colonnes);
fenetre.setLayout(damier);
System.out.println(" Jeu " + damierSize.width +" "+ damierSize.height + " "+caseSize.width +" "+ caseSize.height );
// Création des couleurs
Color gray1 = new Color(80,80,80);
Color gray2 = new Color(70,70,70);
// Réalisation du damier et ajout d'éléments graphiques
for (int currentLine=0; currentLine<lignes; currentLine++){
for(int currentCase = 0; currentCase < colonnes; currentCase++){
if (currentLine%2==0){
if (currentCase%2==0){
JPanel dark = new JPanel();
dark.setPreferredSize(caseSize);
dark.setBackground(gray2);
if ((currentLine==0)&&(currentCase==8)){
System.out.println("ok");
}
fenetre.add(dark);
} else {
JPanel light = new JPanel();
light.setPreferredSize(caseSize);
light.setBackground(gray1);
fenetre.add(light);
}
} else {
if (currentCase%2==0){
JPanel light = new JPanel();
light.setPreferredSize(caseSize);
light.setBackground(gray1);
fenetre.add(light);
} else {
JPanel dark = new JPanel();
dark.setPreferredSize(caseSize);
dark.setBackground(gray2);
fenetre.add(dark);
}
}
}
}
fenetre.pack();
System.out.println(" Jeu " + fenetre.getSize() + " "+caseSize.width +" "+ caseSize.height );
fenetre.setVisible(true);
}
}

View File

@ -12,7 +12,7 @@ public class FrameMenu{
int frameLocation[]={screenSize.width * 1/6, screenSize.height * 1/6};
// On crée ensuite notre fenêtre
JFrame fenetre = new JFrame("Menu");
JFrame fenetre = new JFrame("Démineur - Menu");
fenetre.setSize(frameWidth,frameHeight);
fenetre.setLocation(frameLocation[0],frameLocation[1]);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
@ -25,14 +25,13 @@ public class FrameMenu{
Dimension caseSize = new Dimension(damierSize.width/75, damierSize.height/75);
GridLayout damier = new GridLayout(caseSize.height, caseSize.width);
fenetre.setLayout(damier);
System.out.println(" Menu " + damierSize.width +" "+ damierSize.height + " "+caseSize.width +" "+ caseSize.height );
// Création des couleurs
Color gray1 = new Color(80,80,80);
Color gray2 = new Color(60,60,60);
Color gray2 = new Color(70,70,70);
// Réalisation du damier et ajout d'éléments graphiques
Etoile etoile = new Etoile();
etoile.setPreferredSize(caseSize);
for (int line=0; line<caseSize.height; line++){
for(int cases = 0; cases < caseSize.width; cases++){
if (line%2==0){
@ -40,7 +39,6 @@ public class FrameMenu{
JPanel dark = new JPanel();
dark.setBackground(gray2);
if ((line==0)&&(cases==8)){
dark.add(etoile);
System.out.println("ok");
}
fenetre.add(dark);
@ -63,7 +61,7 @@ public class FrameMenu{
}
}
// A faire : choix de la taille de la grille, bouton jouer et quitter, déscription/règles du jeu, décorations
// A faire : choix de la taille de la grille, bouton jouer, charger et quitter, déscription/règles du jeu
fenetre.setVisible(true);
}

View File

@ -1,5 +1,6 @@
public class Main{
public static void main(String[] args) {
new FrameMenu();
}
new FrameJeu(10,15);
; }
}