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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
| /**
*
* @author KarKam Dvpt
* @version 1.0
*/
package ihm;
import morpion.Zone;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Ihm {
private JFrame maFrame;
/*Ma grille*/
private Container contenu;
private BorderLayout placeur;
private GridLayout maGrille;
private Zone[][] cases;
/*Mes images*/
private final ImageIcon CROIX = new ImageIcon("croix.gif");
private final ImageIcon ROND = new ImageIcon("rond.gif");
private final ImageIcon BLANC = new ImageIcon("blanc.gif");
/*Barre de Menu*/
private JMenuBar monMenu;
private JMenu menuJeu;
private JMenu menuOptions;
private JMenuItem itemNouveau;
private JMenuItem itemQuitter;
private JMenuItem itemPropos;
/*Mes listeners*/
private ActionListener actionNouveau = new ActionNouveau();
private ActionListener actionQuitter= new ActionQuitter();
private ActionListener actionPropos = new ActionPropos();
private MouseListener actionSouris = new ActionSouris();
public Ihm() {
maFrame= new JFrame("Morpion -- KarKam Dvpt.");
maFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
maFrame.setResizable(false);
maFrame.setSize(300,300);
maFrame.setLocationRelativeTo(maFrame.getParent());
/*Ma barre de menu*/
monMenu = new JMenuBar();
menuJeu = new JMenu("Jeu");
menuOptions = new JMenu("Options");
itemNouveau = new JMenuItem("Nouveau");
itemNouveau.addActionListener(actionNouveau);
itemQuitter = new JMenuItem("Quitter");
itemQuitter.addActionListener(actionQuitter);
itemPropos = new JMenuItem("A propos...");
itemPropos.addActionListener(actionPropos);
maFrame.setJMenuBar(monMenu);
monMenu.add(menuJeu);
monMenu.add(menuOptions);
menuJeu.add(itemNouveau);
menuJeu.add(itemQuitter);
menuOptions.add(itemPropos);
/*Ma grille*/
JPanel panCenter = new JPanel();
JPanel panNord = new JPanel();
JPanel panSud = new JPanel();
JPanel panEst = new JPanel();
JPanel panOuest = new JPanel();
panEst.setBackground(Color.WHITE);
panOuest.setBackground(Color.WHITE);
panNord.setBackground(Color.WHITE);
panSud.setBackground(Color.WHITE);
contenu = maFrame.getContentPane();
placeur = new BorderLayout();
maGrille = new GridLayout(3,3);
panCenter.setLayout(maGrille);
contenu.setLayout(placeur);
contenu.add(panCenter,placeur.CENTER);
contenu.add(panOuest,placeur.WEST);
contenu.add(panEst,placeur.EAST);
contenu.add(panSud,placeur.SOUTH);
contenu.add(panNord,placeur.NORTH);
cases = new Zone[3][3];
// Créer les cases du Morpion
for (int i = 0; i < cases.length; i++) {
for (int j = 0; j < cases[i].length; j++) {
cases[i][j] = new Zone(i,j);
cases[i][j].setBorder(BorderFactory.createLineBorder(Color.YELLOW));
}
}
for (int i=0; i < cases.length;i ++){
for (int j=0;j < cases[i].length;j++){
cases[i][j].setIcon(BLANC);
cases[i][j].addMouseListener(actionSouris);
}
}
// construction des composants
for (int i=0; i < cases.length;i ++){
for (int j=0;j < cases[i].length;j++){
contenu.add(cases[i][j]);
}
}
maFrame.setVisible(true);
}
public class ActionQuitter implements ActionListener{
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
public class ActionPropos implements ActionListener{
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(new JOptionPane(),"Morpion\nKarKam Dvpt.\nv1.0","Info",JOptionPane.INFORMATION_MESSAGE);
}
}
public class ActionNouveau implements ActionListener{
public void actionPerformed(ActionEvent e){
for(int i=0;i< cases.length;i++){
for(int j=0;j<cases[i].length;j++){
cases[i][j].setIcon(BLANC);
}
}
}
}
public class ActionSouris implements MouseListener{
public void mousePressed(MouseEvent e){
if(SwingUtilities.isLeftMouseButton(e)){
Zone z =(Zone)e.getSource();
System.out.print("Click Gauche sur ("+z.getX()+","+z.getY()+")");
//..
}
}
public void mouseReleased(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public void mouseClicked(MouseEvent e){
}
}
} |
Partager