116 lines
4.4 KiB
Java
116 lines
4.4 KiB
Java
|
|
||
|
// Tom Monin et Clément Martins
|
||
|
// paintChoix V1
|
||
|
// class pour l'affichage de la selection des lignes, collonnes et nombre de mines
|
||
|
|
||
|
import java.awt.*;
|
||
|
import javax.swing.*;
|
||
|
import javax.swing.JComponent;
|
||
|
|
||
|
public class paintChoix extends JComponent{
|
||
|
private boolean selectionner; //si la case est survoler
|
||
|
private paintChoix pinceau; //le composant suivant
|
||
|
private boolean clique; //si la casse a été cliquer
|
||
|
private int x; //sa position
|
||
|
private int fonction; //sa fonction (pour éviter le surplus de classe inutiles)
|
||
|
public paintChoix(int x0, int fonction0){
|
||
|
this.clique=false; //de base le composant n'est pas cliquer
|
||
|
this.pinceau=null; //il n'a pas de suivant
|
||
|
this.selectionner=false; //il n'est pas selectionner
|
||
|
this.x=30-x0; //sa position est la différence de 30 - celle donner (car ordre decroisant)
|
||
|
this.fonction=fonction0;
|
||
|
//de base ce n'est pas selectionner
|
||
|
}
|
||
|
|
||
|
// fonction permetant positionner la case et ses voisoins sur selectionner
|
||
|
public void selectionner(boolean verif){
|
||
|
//on postionne la case en selectionner = @params
|
||
|
this.selectionner=verif;
|
||
|
//si il a un suivant
|
||
|
if(this.pinceau!=null){
|
||
|
//on lui transmet le message
|
||
|
this.pinceau.selectionner(verif);
|
||
|
}
|
||
|
//on repaint la case
|
||
|
this.repaint();
|
||
|
}
|
||
|
public void setPaintChoix(paintChoix pinceau0){
|
||
|
//pour positionner le composant suivant
|
||
|
this.pinceau=pinceau0;
|
||
|
}
|
||
|
public void setClique(boolean verif){
|
||
|
//même principe que selectionner
|
||
|
this.clique=verif;
|
||
|
if(this.pinceau!=null){
|
||
|
this.pinceau.setClique(verif);
|
||
|
}
|
||
|
this.repaint();
|
||
|
}
|
||
|
public int getFonction(){
|
||
|
return this.fonction;
|
||
|
}
|
||
|
public int getN(){
|
||
|
return this.x;
|
||
|
}
|
||
|
@Override
|
||
|
protected void paintComponent(Graphics pinceau) {
|
||
|
// obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
|
||
|
Graphics secondPinceau = pinceau.create();
|
||
|
// obligatoire : si le composant n'est pas censé être transparent
|
||
|
if (this.isOpaque()) {
|
||
|
// obligatoire : on repeint toute la surface avec la couleur de fond
|
||
|
secondPinceau.setColor(this.getBackground());
|
||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
}
|
||
|
//si cliquer
|
||
|
if(this.clique==true){
|
||
|
//carrer bleu
|
||
|
secondPinceau.setColor(new Color(0, 127, 255));
|
||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
}
|
||
|
//si selectionner
|
||
|
if(selectionner==true){
|
||
|
//carrer orange
|
||
|
secondPinceau.setColor(new Color(255, 127, 0));
|
||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
}
|
||
|
//autrement carrer blanc
|
||
|
secondPinceau.setColor(new Color(0,0,0));
|
||
|
secondPinceau.drawRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
//si la fonction est de 8 (pour les premier menu)
|
||
|
if(this.fonction==8){
|
||
|
//fond blanc
|
||
|
secondPinceau.setColor(new Color(255, 255, 255));
|
||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
//on dessinne l'image correspondante
|
||
|
Image nouveau=Toolkit.getDefaultToolkit().getImage("./IMAGE/nouveau.jpg");
|
||
|
if(this.selectionner==true){
|
||
|
//si elle est survoler un l'agrandi pour une mailleur visibilite
|
||
|
secondPinceau.drawImage(nouveau, 0, 0, this.getWidth(), this.getHeight(), this);
|
||
|
}else{
|
||
|
secondPinceau.drawImage(nouveau, this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18, this);
|
||
|
}
|
||
|
}
|
||
|
//même principe pour les autre if suivant
|
||
|
if(this.fonction==9){
|
||
|
secondPinceau.setColor(new Color(255, 255, 255));
|
||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
Image quitter=Toolkit.getDefaultToolkit().getImage("./IMAGE/quitter.jpg");
|
||
|
if(this.selectionner==true){
|
||
|
secondPinceau.drawImage(quitter, 0, 0, this.getWidth(), this.getHeight(), this);
|
||
|
}else{
|
||
|
secondPinceau.drawImage(quitter, this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18, this);
|
||
|
}
|
||
|
}
|
||
|
if(this.fonction==10){
|
||
|
secondPinceau.setColor(new Color(255, 255, 255));
|
||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||
|
Image reprendre=Toolkit.getDefaultToolkit().getImage("./IMAGE/reprendre.png");
|
||
|
if(this.selectionner==true){
|
||
|
secondPinceau.drawImage(reprendre, 0, 0, this.getWidth(), this.getHeight(), this);
|
||
|
}else{
|
||
|
secondPinceau.drawImage(reprendre, this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18, this);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|