Probleme addKeyListener

cs_Seb33300 Messages postés 84 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 7 février 2010 - 31 janv. 2007 à 15:10
cs_Seb33300 Messages postés 84 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 7 février 2010 - 31 janv. 2007 à 15:22
Salut

j'ai besoin de récuperer les touches pressé au clavier pour déclenché des evenement dans mon prog

Pour cela j'ai séparé mon prog en 2 classe

une qui gere les evenements de ActionListener et keyListener

et l'autre pour mon programme

Le probleme c'est que il detecte bien les evenement de ActionListener mais pas ce de keyListener
Et des que j'ajoute avec addKeyListener l'evenement, sa bloque aussi les evenement de ActionListener
Lorsque j'appuis sur les touches aucun des 3 message n'aparait (voir code + bas)

Lancement du prog :

public


Button origine
;
private
Evenements m_event;

public
void
init()
{

m_event = new
Evenements(this
);
origine = new
Button("Origine");
add(origine);
origine.addActionListener(m_event);
addKeyListener(m_event);

repaint();
}

Ma classe evenements :
import

java.awt.event.*;

import javax.swing.*;

public

class Evenements
implements ActionListener, KeyListener {

private Interface
frm;

private rubik
rubik3d;

/**
*
Constructeur
*/

public Evenements(rubik modele)
{

   this.
rubik3d = modele;
}

public
void actionPerformed(ActionEvent evt) {Object source = evt.getSource();

if(source = =
rubik3d.
origine){

rubik3d.setOrigine();}

rubik3d.repaint();}

public
void keyPressed(KeyEvent evt) {

System.

out .println(
"keyP");
int keyCode evt.getKeyCode();String key evt. getKeyText (keyCode);
if ((key "u") || (key
"8")){

rubik3d.turnFace(2);}

else if((key "d") || (key
"2")){

rubik3d.turnFace(4);}

else if((key "f") || (key
"5")){

rubik3d.turnFace(1);}

else if((key "r") || (key
"6")){

rubik3d.turnFace(3);}

else if((key "l") || (key
"4")){

rubik3d.turnFace(5);}

else if((key "b") || (key
"0")){

rubik3d.turnFace(0);}

else
if(key ==
"+"){

rubik3d.
sens=
"H";}

else
if(key ==
"-"){

rubik3d.
sens=
"A";}

rubik3d.repaint();}

public
void keyReleased(KeyEvent evt) {System.

out.println(
"keyR");}

/**

*
la
touche
a
été
enfoncée
puis
relachée
[keyPressed()
+
keyReleased()]

*/

public
void keyTyped(KeyEvent evt) {System.

out.println(
"keyT");}

}
A voir également:

1 réponse

cs_Seb33300 Messages postés 84 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 7 février 2010
31 janv. 2007 à 15:22
J'ai créé un champ texte et il a l'air de detecter seulement lorsque j'ecrit dans le champs texte, mais l'evenement placé sur le bouton reste toujour bloqué
0