qhhu
Messages postés66Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 octobre 2009
-
10 avril 2006 à 09:51
qhhu
Messages postés66Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 octobre 2009
-
10 avril 2006 à 10:28
Bonjour a tous
J'ai un problème concernant KeyListener...
Je voudrais détecter les touches haut,bas,droite et gauche, mais je n'y arrive pas.
J'ai essayé ceci:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class uptest extends JFrame implements KeyListener{
JPanel s = new JPanel();
public uptest(){
super("test");
setSize(100,100);
setLocation(100,0);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
s.setFocusable(true);
s.requestFocus();
s.addKeyListener(this);
add(s);
setVisible(true);
}
public void keyTyped(KeyEvent e){
int so = e.getKeyCode();
if(so==KeyEvent.VK_UP){
System.out.println("UP");
}
else if(so==KeyEvent.VK_LEFT) {
System.out.println("LEFT");
}
else if(so==KeyEvent.VK_DOWN){
System.out.println("DOWN");
}
else if(so==KeyEvent.VK_RIGHT){
System.out.println("RIGHT");
}
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
public static void main(String[] arguments){
uptest h = new uptest();
}
}
bloofi
Messages postés388Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention 3 mai 20062 10 avril 2006 à 10:01
tu semble donner le focus a ton panel, mais essaye de faire en sorte qu'il l'ait un peu plus tard :
SwingUtilities.invokeLater( new Runnable(){ public void run(){ s.requestFocus(true);}} );
(c'est dla bidouille mais tant pis)
sinon essaye de mettre ton code dans keyPressed plutot que keyTyped