Simulation de la saisie au clavier à partir d'une chaîne
Introduction :
En programmation, il peut être nécessaire de simuler saisie de texte à l'aide du clavier à des fins de tests automatisés ou à d'autres fins. Cela implique de convertir une chaîne en une série d'événements clés pouvant être envoyés à une application. Voici comment y parvenir à l'aide des API Java.
Approche utilisant l'instruction Switch :
Une méthode simple consiste à utiliser une instruction switch glorifiée qui mappe directement les caractères aux codes clés. Pour chaque caractère de la chaîne d'entrée, un code de touche correspondant est récupéré et les événements d'appui et de relâchement des touches sont simulés à l'aide de la classe Robot.
Code Java pour l'approche de l'instruction Switch :
<code class="java">import static java.awt.event.KeyEvent.*; public class KeystrokeSimulator { public static void main(String[] args) { String input = "Example Keystrokes"; int keycode; // Initialize the Robot for key event simulation Robot robot = new Robot(); // Loop through each character for (char character : input.toCharArray()) { switch (character) { case 'a': keycode = VK_A; break; case 'b': keycode = VK_B; break; // ... continue for all characters default: keycode = 0; // Unknown character } if (keycode != 0) { robot.keyPress(keycode); robot.keyRelease(keycode); } } } }</code>
Approche avancée avec personnalisation des touches :
Pour les scénarios dans lesquels une gestion personnalisée est requise pour certains caractères, une approche plus avancée peut être adoptée. La classe de base peut être étendue et la méthode type peut être remplacée pour tenir compte des caractères spéciaux ou des combinaisons de touches personnalisées.
Code Java pour une personnalisation avancée :
<code class="java">import static java.awt.event.KeyEvent.*; public class CustomKeystrokeSimulator extends KeystrokeSimulator { public CustomKeystrokeSimulator(Robot robot) { super(robot); } @Override public void type(char character) { super.type(character); // Custom handling for special characters or key combinations // (e.g., mapping '!' to Shift + '1') } }</code>
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!