La classe Robot, impossible de marquer certaines lettres
Résolu
Skymer
Messages postés
565
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour, y a-t-il une alternative pour simuler la parenthèse fermé..
Car ceci me génère une exception :
Ah et j'ai un autre prblm, comment détecter un click ? hors de la fenêtre ou pas
Skymer
"On à jamais rien, sans rien !"
"Ne jamais abandonnez"
Car ceci me génère une exception :
Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_LEFT_PARENTESIS);
Ah et j'ai un autre prblm, comment détecter un click ? hors de la fenêtre ou pas
Skymer
"On à jamais rien, sans rien !"
"Ne jamais abandonnez"
1 réponse
-
Bonjour,
Il faut bien l'écrire, avec un H (comme en français d'ailleurs)VK_LEFT_PARENT H ESIS
Remarque : celle-ci c'est la parenthèse ouvrante, pas la fermante...
Voir la liste dans https://docs.oracle.com/javase/8/docs/api/java/awt/event/KeyEvent.html
Pour détecter un clic (sur la fenêtre uniquement) tu peux ajouter un MouseListener sur la JFrame, ça va te détecter l’événement.
En dehors de la fenêtre ce n'est pas possible, c'est le programme sur lequel tu cliques qui gères l'action, Java ne gère pas les autres programmes.-
Bon pour le H tu m'excuseras ... Je voulais celle de gauche (mais talent d’inattention)..
ça me génère une IllegalArgumentExeption il me semble
Pour ce qui est du click.. Merci ça je sais, ce que je veux c'est détécter un clic hors du focus de la fenêtre (donc capter quand le bouton gauche est enclenché sur ma souris, peu importe l'endroit...)
Désolé de mon imprécision -
Donc comme je l'indiquais, pour le clic ce n'est pas possible, la souris n'appartient pas à Java, mais à Windows (ou autre ^^), et c'est lui qui décide à qui il va envoyer l'information du clic, et ce sera forcément au programme sur lequel on clic.
Si tu clic en dehors du programme Java tu ne peux pas récupérer le clic.
Pour le KeyEvent c'est un peu plus compliqué, ce que l'on simule c'est une touche du clavier, pas le caractère qui est dessus, donc ça peut varier d'un clavier à l'autre.
Si tu es sur un clavier français tu peux utiliser VK_5 mais ça risque de taper un 5 si tu as la touche majuscule enfoncée, ou un [ avec la touche Alt+Gr. -
-
Je paralais de la prenthèse comme ça ")"
Il faudrait savoir, quand j'ai souligné que tu n'utilisait pas la bonne tu as précisé que tu voulais celle de gauche, or maintenant tu dis droite...
ça renvoi une exception
Oui j'ai vu, c'est pour ça que je te disais d'utiliser VK_5 car comme je l'ai indiqué keyPress raisonne sur le numéro de la touche, pas sur la valeur du caractère à saisir. 5 et ( sont sur la même touche et leu code de cette touche c'est celui de VK_5
on m'a toujours dit que l'on pouvait tout faire en prog
Faut pas croire tout ce qu'on te dit... surtout si tu te limites uniquement à la méthode keyPress !
Remarque : si tu nous expliquait ce que tu voulais vraiment faire in fine on pourrait peut être t'orienter de manière plus pertinente. -
-