G'day tout,clés de détection de direction du clavier en utilisant keyPressed
Après avoir appris ici que la console Java ne prend pas en charge l'entrée du clavier beaucoup, je suis passé au Swing et AWT. Mon problème maintenant est de savoir comment détecter quand les touches de direction du clavier (clavier non numérique) sont utilisées. Mon code (ci-dessous) ne fait qu'imprimer un caractère "petite boîte" en appuyant sur les touches bas, haut, gauche, droite. Ce petit caractère de boîte n'est pas différent du caractère utilisé par les touches CTRL et ALT, par exemple. Est-ce que quelqu'un sait quelle est l'identité des touches de direction du clavier pour que je puisse les coder dans mon application?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class KeyChecker extends JFrame {
JLabel keyLabel = new JLabel("Hit any key");
public KeyChecker() {
super("Hit a Key");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout(FlowLayout.CENTER));
KeyMonitor monitor = new KeyMonitor(this);
setFocusable(true);
addKeyListener(monitor);
add(keyLabel);
setVisible(true);
}
public static void main(String[] arguments) {
new KeyChecker();
}
}
class KeyMonitor extends KeyAdapter {
KeyChecker display;
KeyMonitor(KeyChecker display) {
this.display = display;
}
public void keyPressed(KeyEvent event) {
display.keyLabel.setText("" + event.getKeyChar());
display.repaint();
}
}
Excellent. Merci David, très apprécié. – elwynn