Salut

Je suis en train de programmer une applet java type bomberman. Le Panel (nommé affichage) ou se deroule le jeu n'ecoute pas le KeyListener et je ne sais pas pourquoi

Methode init de la classe générale : (private Affichage affichage = new Affichage(modele)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 public void init() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
    surveillantImages = new MediaTracker(this);
    modele = new Modele();
    Image joueur1Image = getImage(getCodeBase(), "faraday.jpg");
    surveillantImages.addImage(joueur1Image, 0);
    modele.setJoueur1(new Joueur(9, 9, joueur1Image));
    Image joueur2Image = getImage(getCodeBase(), "faraday.jpg");
    surveillantImages.addImage(joueur2Image, 0);
    modele.setJoueur2(new Joueur(2, 2, joueur2Image));
    Image herbeImage = getImage(getCodeBase(), "herbe.jpg");
    Image rocherImage = getImage(getCodeBase(), "brique.jpg");
    surveillantImages.addImage(herbeImage, 1);
    surveillantImages.addImage(rocherImage, 2);
    modele.setCarte(new Carte(herbeImage, rocherImage));
 
    Affichage affichage = new Affichage(modele);
    modele.setAffichage(affichage);
    getContentPane().add(affichage);
 
    try {
      surveillantImages.waitForAll();
    }
    catch(InterruptedException e)
    {
      return;
    }
    addKeyListener(affichage);
  }
Methode dans Affichage :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 public void keyPressed(KeyEvent e) {
    int keyCode = e.getKeyCode();
    System.out.println("salut");
      switch (keyCode) {
        case KeyEvent.VK_LEFT:
          modele.deplacerJoueur1X(-1);break;
        case KeyEvent.VK_RIGHT:
          modele.deplacerJoueur1X(1);break;
        case KeyEvent.VK_DOWN:
          modele.deplacerJoueur1Y(1);break;
        case KeyEvent.VK_UP:
          modele.deplacerJoueur1Y(-1);break;
        case KeyEvent.VK_Q:
          modele.deplacerJoueur2X(-1);break;
        case KeyEvent.VK_D:
          modele.deplacerJoueur2X(1);break;
        case KeyEvent.VK_S:
          modele.deplacerJoueur2Y(1);break;
        case KeyEvent.VK_Z:
          modele.deplacerJoueur2Y(-1);break;
      }
  }
  public void keyReleased(KeyEvent e) {}
 
  public void keyTyped(KeyEvent e) {}
}