Ok, tout d'abord. Si je fais System.out.println (e); qui imprime lorsque j'appuie sur la touche. Cependant je ne peux pas pour la vie de moi comprendre comment stocker ceci dans un int. Mon IDE ne me donne aucune erreur si je le fais int press = e.KEY_PRESSED(); ou int pressé = e.getKeyCode(); mais si j'essaie d'imprimer pressé rien ne se passe.Je n'arrive pas à faire fonctionner l'écouteur de KeyEvent
J'ai essayé de faire fonctionner cela pendant des heures et les gestionnaires de Googling KeyEvent et les Javadocs semblent être de peu d'aide à ce sujet.
public void keyPressed(KeyEvent e) {
pressed = e.getKeyCode();
System.out.println(pressed);
}
do{
time = System.currentTimeMillis();
do{
if(pressed == 37||pressed==38||pressed==39||pressed==40){
lastvalid=pressed;
}
}
while(System.currentTimeMillis() < time + speed);
switch(lastvalid){
case 37: catarloc.set(0, (Integer)catarloc.get(0)-1); break;
case 38: catarloc.set(1, (Integer)catarloc.get(1)-1); break;
case 39: catarloc.set(0, (Integer)catarloc.get(0)+1); break;
case 40: catarloc.set(1, (Integer)catarloc.get(1)+1); break;
}
if(Math.random() > .95 || apples < 1){
applearray[(int)(Math.random()*100/2.8)][(int)(Math.random()*100/4)] = true;
apples++;
}
score+=catarloc.size()-1;
label.setText("Score "+ score);
mainWindow.repaint();
}
while(win == false || lose == false);
Quelle bibliothèque vous utilisez (Swing/SWT/etc)? –
Pouvez-vous inclure la source pour votre écouteur et l'utilisation de l'événement clé? – Andy
Fait, y compris les parties qui utilisent l'entrée –