95 lines
3.4 KiB
Java
95 lines
3.4 KiB
Java
|
//Tom Monin et Clément Martins
|
||
|
// observateurChoix V1
|
||
|
//Class pour la selection du nombre de collone et ligne et de Mine a la souris
|
||
|
//ainsi que pour le choix du premier menu
|
||
|
import java.awt.*;
|
||
|
import java.awt.event.*;
|
||
|
import javax.swing.*;
|
||
|
import java.io.*;
|
||
|
|
||
|
public class observateurChoix implements MouseListener{
|
||
|
//le composant qui est observer ainsi que le premier (pour les ligne de choix du 2ème menu)
|
||
|
private paintChoix pinceau, premier;
|
||
|
//le texte des ligne et collonne
|
||
|
private JLabel texte;
|
||
|
//le plateau
|
||
|
private plateau plat;
|
||
|
//constructeur
|
||
|
private boolean fonction; // attribut utiliser que pour le logo
|
||
|
//@params (le composant, le premier composant de la ligne, le texte, le plateau)
|
||
|
public observateurChoix(paintChoix pinceau0, paintChoix premier0, JLabel texte0, plateau plat0){
|
||
|
this.pinceau=pinceau0;
|
||
|
this.premier=premier0;
|
||
|
this.texte=texte0;
|
||
|
this.plat=plat0;
|
||
|
this.fonction=false;
|
||
|
}
|
||
|
public void setFonction(boolean fonction0){
|
||
|
this.fonction=fonction0;
|
||
|
}
|
||
|
@Override
|
||
|
public void mouseClicked(MouseEvent evenement){
|
||
|
//on connaîtra la fonction desirer par le composant grâce a sa fonction
|
||
|
//et donc réagir en conséquence
|
||
|
//si la fonction est hors 8 et 10
|
||
|
//c'est alors que l'observateur est destiner au deuxième menu
|
||
|
if(this.pinceau.getFonction()==1 || this.pinceau.getFonction()==2){
|
||
|
//on remet tous en false a partir du premier composant
|
||
|
this.premier.setClique(false);
|
||
|
//on les remet en true a partir de celui qui est cliquer
|
||
|
this.pinceau.setClique(true);
|
||
|
//si la fonction est de 1 (pour les ligne)
|
||
|
if(this.pinceau.getFonction()==1){
|
||
|
//nous repositionons le nombre de ligne en foction de la position du composant
|
||
|
this.texte.setText("<=== Ligne: "+String.valueOf(this.pinceau.getN()));
|
||
|
//nous precisions au plateau le nombre de ligne selectionner
|
||
|
this.plat.setLigne(this.pinceau.getN());
|
||
|
}
|
||
|
//si la fonction est de 2 (pour les collonnes)
|
||
|
if(this.pinceau.getFonction()==2){
|
||
|
//nous repositionons le nombre de collonne en fonction de la position du composant
|
||
|
this.texte.setText("Collonne: "+String.valueOf(this.pinceau.getN()+" ===>"));
|
||
|
//nous precisions au plateau le nombre de collonne selectionner
|
||
|
this.plat.setCollonne(this.pinceau.getN());
|
||
|
}
|
||
|
// pour les autres fonction (premier menu)
|
||
|
}else{
|
||
|
//fonction 9 (pour nouvelle partie)
|
||
|
if(this.pinceau.getFonction()==9){
|
||
|
this.plat.menuChoixLCB();
|
||
|
}
|
||
|
//fonction 10 (pour reprendre une partie)
|
||
|
if(this.pinceau.getFonction()==10){
|
||
|
try{
|
||
|
FileInputStream fichier = new FileInputStream("./sauvegarde.data");
|
||
|
this.plat.reprendrePartie(fichier);
|
||
|
}catch(FileNotFoundException e1){
|
||
|
JOptionPane.showMessageDialog(this.plat.getFenetre(), "sauvegarde introuvable");
|
||
|
}
|
||
|
}
|
||
|
//fonction 8 (pour quitter la partie)
|
||
|
if(this.pinceau.getFonction()==8){
|
||
|
this.plat.getFenetre().dispose();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
@Override // un bouton cliqué
|
||
|
public void mouseEntered(MouseEvent evenement){
|
||
|
//on precise au composant que ont est en train de le survoler
|
||
|
this.pinceau.selectionner(true);
|
||
|
}
|
||
|
@Override // debut du survol
|
||
|
public void mouseExited(MouseEvent evenement){
|
||
|
//on precise au composant que on ne le survol plus
|
||
|
this.pinceau.selectionner(false);
|
||
|
}
|
||
|
@Override // fin du survol
|
||
|
public void mousePressed(MouseEvent evenement){
|
||
|
|
||
|
}
|
||
|
@Override // un bouton appuyé
|
||
|
public void mouseReleased(MouseEvent evenement){
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|