La classe Robot, impossible de marquer certaines lettres

Résolu/Fermé
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - Modifié par Skymer le 30/05/2016 à 18:52
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 2 juin 2016 à 19:59
Bonjour, y a-t-il une alternative pour simuler la parenthèse fermé..
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

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
30 mai 2016 à 19:03
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.
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
30 mai 2016 à 19:13
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
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
30 mai 2016 à 19:53
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.
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
31 mai 2016 à 17:53
Ok merci pour l'histoire du click ... Après pour KeyEvent.. Je paralais de la prenthèse comme ça ")"... ça renvoi une exception ... mais bon si ce n'est pas possible ...
C'est bizarre car on m'a toujours dit que l'on pouvait tout faire en prog... Mais merci comme même ^^
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 mai 2016 à 19:47
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.
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75 > KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024
1 juin 2016 à 11:56
Je savais pour la touche 5.. Cette parenthèse ')' marche bien... Mais je parlais de l'autre (dsl de la confusion... C'est claire dans ma tête mais la partie droite de mon cerveau à du mal...)... ° <== il n'y a pas cette touche...
0