ActionListener qui tue le keyListener

omcougar Messages postés 152 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 8 octobre 2008 - 16 janv. 2006 à 18:01
omcougar Messages postés 152 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 8 octobre 2008 - 17 janv. 2006 à 09:53
Bonjour,

j'ai un borderlayout qui contien plusieur JPanel

l'un des panel fait appel à des gestionnaires d'evennement souris et clavier tels que :

this.addKeyListener(kl);
this.addMouseListener(ml);
this.addMouseMotionListener(mml);

Un autre Jpanel contient des JButton qui font appel à des Actions listener tels que:

Button1.addActionListener(al);

Tout se passe bien jusqu'à ce que j'appuie sur un boutton du second JPanel
Apres le KeyListener du premier JPanel ne répond plus (la souris n'a pas de probleme)

Avez vous une idée ?
J'ai essayé de mettre le meme keyListener sur le second jPanel sans succes
Merci

2 réponses

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
16 janv. 2006 à 18:34
il nous faudrait le code des objets k1 et a1. par quel changement se traduit les eévènements.
0
omcougar Messages postés 152 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 8 octobre 2008 1
17 janv. 2006 à 09:53
Ca ne change pas grand chose juste des variables....

/// AL :

class Action_PBE implements ActionListener{
public void actionPerformed(ActionEvent e){
Object source=e.getSource();
if (source==B_RefX){
System.out.println("Select Xref ");
M_Mode="SXRef";
}else if (source==B_RefY){
System.out.println("Select Yref ");
M_Mode="SYRef";
}else if (source==B_Loc){
System.out.println("Select Yref ");
M_Mode="Sxy";
}else{
System.out.println("Source Action non reconnue: " +source);
}
}
}

// LK:
class Key_PBE extends KeyAdapter{
public void keyPressed(KeyEvent e){
int code = e.getKeyCode();
System.out.println("Key "+ code +" Pressed");
if (code==37){
// Gauche
NPE.NP.x=NPE.NP.x-500;
}
if (code==38){
// Haut
NPE.NP.y=NPE.NP.y-500;
}
if (code==39){
// Droite
NPE.NP.x=NPE.NP.x+500;
}
if (code==40){
// Bas
NPE.NP.y=NPE.NP.y+500;
}
if (code==155){
// Insert
VJ[JSelected].add_VNavP(NPE.NP);
NPSelected=VJ[JSelected].NP.length-1;
VJ[JSelected].NP[NPSelected].Refresh(ball,VJ,"N",JSelected,NPSelected);
}
if (code==127){
// supprime
VJ[JSelected].del_VNavP(NPSelected);
NPSelected=Math.min(NPSelected,VJ[JSelected].NP.length-1);
}
NPE.NP.Refresh_relatif(ball,VJ,SSide,JSelected,NPSelected);
NPE.Update(VJ[JSelected].NP[NPSelected]);
}
public void keyReleased(KeyEvent e){
int code = e.getKeyCode();
System.out.println("Key "+ code +" Released");
}
public void keyTyped(KeyEvent e){
System.out.println("keyTyped "+ e );
super.keyTyped(e);
}
}
0
Rejoignez-nous