La classe Robot, impossible de marquer certaines lettres

Résolu
Skymer Messages postés 477 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   75
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   75
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   75 > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
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