1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class MorpionView extends JFrame {
private JButton[] button;
private ImageIcon iconJoueur1;
private ImageIcon iconJoueur2;
private ImageIcon iconCaseVide;
private int i;
// Constructeur
public MorpionView (String nom, MorpionController morpionController) {
super(nom);
Container pan = this.getContentPane();
/*Création du design de la fenêtre*/
pan.setLayout(new BorderLayout());
/*Mise en place du quadrillage du jeu de morpion*/
iconCaseVide = new ImageIcon ("Bouton.jpg");
button = new JButton[9];
for (i = 0; i < 9; i++) {
button[i] = new JButton (iconCaseVide);
}
/*Création des autres éléments de la fenêtre*/
JLabel joueur1Label = new JLabel("Edward");
JLabel joueur2Label = new JLabel("Alfons");
JLabel tourLabel = new JLabel("C'est à ton tour!");
JButton quitButton = new JButton("Quit");
JButton startButton = new JButton("Start");
iconJoueur1 = new ImageIcon ("Joueur1.jpg");
iconJoueur2 = new ImageIcon ("Joueur2.jpg");
JButton joueur1 = new JButton(iconJoueur1);
JButton joueur2 = new JButton(iconJoueur2);
/*Gestion des actions sur les boutons*/
quitButton.addActionListener(new MorpionEvent(morpionController));
startButton.addActionListener(new MorpionEvent(morpionController));
button[i].addActionListener(new MorpionEvent(morpionController));
/*Ajout des éléments dans la fenêtre*/
pan.add(joueur1);
pan.add(joueur1Label);
pan.add(joueur2);
pan.add(joueur2Label);
pan.add(tourLabel, BorderLayout.CENTER);
pan.add(button[i], BorderLayout.CENTER);
pan.add(startButton, BorderLayout.SOUTH);
pan.add(quitButton, BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
// Méthodes
/*Méthode qui modifie l'image d'un bouton de la grille*/
public void changeIcon (int selected, int joueur) {
if (joueur == 1) {
button[selected] = new JButton (iconJoueur1);
}
else if (joueur == 2) {
button[selected] = new JButton (iconJoueur2);
}
}
/*Méthode qui réinitialise la grille*/
public void resetGrid () {
for (i = 0; i < 9; i++) {
button[i] = new JButton (iconCaseVide);
}
}
/*Méthode pour afficher*/
public void afficher(boolean ouiounon) {
this.setVisible(ouiounon);
}
} |