Dans un programme Java qui nécessite une surveillance continue des pressions de touche de l'utilisateur, il est essentiel d'établir un mécanisme de détection de la saisie au clavier. L'approche conventionnelle en Java ne consiste pas à vérifier directement si une touche est enfoncée, mais plutôt à écouter les événements du clavier.
Pour surveiller les pressions sur les touches, on peut exploitez les KeyEventDispatchers. Ces répartiteurs sont chargés de gérer les événements du clavier et de les distribuer aux écouteurs d'événements appropriés.
Considérez l'extrait de code Java suivant, qui montre comment créer et enregistrer un KeyEventListener pour suivre l'état. de la touche 'w' :
import java.awt.KeyEventDispatcher; import java.awt.KeyboardFocusManager; import java.awt.event.KeyEvent; public class IsKeyPressed { private static volatile boolean wPressed = false; public static boolean isWPressed() { synchronized (IsKeyPressed.class) { return wPressed; } } public static void main(String[] args) { KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() { @Override public boolean dispatchKeyEvent(KeyEvent ke) { synchronized (IsKeyPressed.class) { switch (ke.getID()) { case KeyEvent.KEY_PRESSED: if (ke.getKeyCode() == KeyEvent.VK_W) { wPressed = true; } break; case KeyEvent.KEY_RELEASED: if (ke.getKeyCode() == KeyEvent.VK_W) { wPressed = false; } break; } return false; } } }); } }
Une fois le KeyEventListener est enregistré, vous pouvez vérifier l'état de la touche « w » à tout moment en utilisant la méthode isWPressed() :
if (IsKeyPressed.isWPressed()) { // Perform desired actions }
Cette approche permet une surveillance continue des pressions sur les touches sans avoir besoin d'une interrogation constante ou conditionnelle chèques. Le KeyEventDispatcher gère la détection et la répartition des événements clés, fournissant un mécanisme robuste et efficace pour surveiller les entrées des utilisateurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!