Bonjour
voila je suis en train de faire un morpion et je comprends prkoi mon mouseListener ne réagit pas
pouvez m'expliquer d'avance merci
et j'ai envie de passer les parametres de ma case
possible ou je me trompe ??
cases[i][j].addMouseListener(actionSouris(i,j));
comme ça
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
| package ihm;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Ihm {
private JFrame maFrame;
/*Ma grille*/
private Container contenu;
private GridLayout maGrille;
private JLabel[][] 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(150,150);
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*/
contenu = maFrame.getContentPane();
maGrille = new GridLayout(3,3);
contenu.setLayout(maGrille);
cases = new JLabel[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 JLabel();
}
}
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)){
System.out.print("Click Gauche");
//...
}
}
public void mouseReleased(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public void mouseClicked(MouseEvent e){
}
}
} |
Partager