SAE21_2021/paintChoix.java
2022-05-05 22:45:26 +02:00

68 lines
1.9 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;
private paintChoix pinceau;
private boolean clique;
private int x;
private int fonction;
public paintChoix(int x0, int fonction0){
this.clique=false;
this.pinceau=null;
this.selectionner=false;
this.x=30-x0;
this.fonction=fonction0;
//de base ce n'est pas selectionner
}
public void selectionner(boolean verif){
this.selectionner=verif;
if(this.pinceau!=null){
this.pinceau.selectionner(verif);
}
this.repaint();
}
public void setPaintChoix(paintChoix pinceau0){
this.pinceau=pinceau0;
}
public void setClique(boolean verif){
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());
}
if(this.clique==true){
secondPinceau.setColor(new Color(0, 127, 255));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
}
if(selectionner==true){
secondPinceau.setColor(new Color(255, 127, 0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
}
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.drawRect(0, 0, this.getWidth(), this.getHeight());
}
}