This commit is contained in:
martins 2022-04-21 22:17:57 +02:00
parent e425718364
commit 0667cec233
6 changed files with 85 additions and 23 deletions

Binary file not shown.

View File

@ -5,7 +5,7 @@
//importons les packages necessaires
import java.awt.*;
import javax.swing.*;
public class main_ex{
public static void main(String[] args){
// on initialise une fenettre
@ -14,29 +14,19 @@ public class main_ex{
//on choisi une taille arbitraire
fenetre.setSize(1000,800);
//nous utiliserons un gestionnaire GridLayout
GridLayout grille = new GridLayout(1, 3);
fenetre.setLayout(grille);
// l'application ne se fermera que si on clique sur
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
main_ex.affichageChoixTaille(fenetre);
}
private static int[] affichageChoixTaille(JFrame fenetre){
// fonction pour la selection des lignes et des collones de l'aplication
paintChoix moins = new paintChoix(1);
paintChoix plus = new paintChoix(2);
nombre compte = new nombre();
JLabel neutre = new JLabel(compte.toString());
JPanel panneau = new JPanel();
observateurChoix ob1 = new observateurChoix(-1, moins, compte);
moins.addMouseListener(ob1);
observateurChoix ob2 = new observateurChoix(1, plus, compte);
plus.addMouseListener(ob2);
fenetre.add(moins);
fenetre.add(neutre);
fenetre.add(plus);
return (new int[3]);
// Choix des lignes/Collonnes/Bombe
nombreCollonnesLigneEtBombe choixCLB = new nombreCollonnesLigneEtBombe(fenetre);
fenetre.dispose();
fenetre=choixCLB.getJFrame();
JLabel panneau = new JLabel("ok");
panneau.setOpaque(true);
panneau.setBackground(new Color(255,0,0));
fenetre.add(panneau);
fenetre.add(panneau);
}
}

Binary file not shown.

View File

@ -0,0 +1,65 @@
import java.awt.*;
import javax.swing.*;
public class nombreCollonnesLigneEtBombe{
private int collonne, ligne, bombe, max, min;
JFrame fenetre;
public nombreCollonnesLigneEtBombe(JFrame fenetre0){
this.min=4;
// il y a au minimun 4 ligne et 4 collonnes
this.max=30;
// il y a 30 ligne et collonne au max
this.collonne=1;
this.ligne=3;
this.bombe=0;
this.fenetre=fenetre0;
}
public void setCollonne(int n){
this.collonne=n;
if(this.collonne<this.min){
this.collonne=this.min;
}
if(this.collonne>this.max){
this.collonne=this.max;
}
}
public void setLigne(int n){
this.ligne=n;
if(this.ligne<this.min){
this.ligne=this.min;
}
if(this.ligne>this.max){
this.ligne=this.max;
}
}
public void setBombe(int n){
this.bombe=n;
if(this.bombe<this.min){
this.bombe=this.min;
}
if(this.bombe>this.max){
this.bombe=this.max;
}
}
public int getMax(){
return this.max;
}
public int getMin(){
return this.min;
}
public int getLignes(){
return this.ligne;
}
public int getCollonnes(){
return this.collonne;
}
public JFrame getJFrame(){
JFrame fen2 = new JFrame();
GridLayout grille = new GridLayout(this.ligne, this.collonne, 5, 5);
fen2.setLayout(grille);
fen2.setSize(1000,800);
fen2.setLocation(0,0);
fen2.setVisible(true);
return fen2;
}
}

Binary file not shown.

View File

@ -3,21 +3,28 @@
//Class pour la selection du nombre de collone et ligne et de Mine a la souris
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class observateurChoix implements MouseListener{
private int direction;
private paintChoix pinceau;
private nombre compte;
public observateurChoix(int direction0, paintChoix pinceau0, nombre compte0){
private JFrame fenetre;
public observateurChoix(int direction0, paintChoix pinceau0, nombre compte0, JFrame fenetre0){
this.direction=direction0;
// pour savoir si c'est l'observateur de la fleche de gauche ou droite
this.pinceau=pinceau0;
this.compte=compte0;
this.fenetre=fenetre0;
}
@Override
public void mouseClicked(MouseEvent evenement){
compte.addNombre(direction);
this.compte.addNombre(direction);
this.fenetre.dispose();
this.fenetre=new JFrame();
this.fenetre.setSize(1000,400);
this.fenetre.setLocation(0,0);
this.fenetre.setVisible(true);
}
@Override // un bouton cliqué
public void mouseEntered(MouseEvent evenement){