Déplacer la souris vers coord + click

izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005 - 10 mai 2004 à 11:22
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 - 21 janv. 2005 à 14:06
Bonjour,

je suis tout ce qu'il y a de plus newbie en java,

je cherche à faire une class qui déplacera la souris aux coordonnées x y (exprimés en pixel 0x0= en haut à gauche) et, suivant des paramettres passés en ligne de commande fera un simple clik / un double / un droit

genre :

"java.exe monappli 800x600 1"
ferait un simple click au point 800x600

"java.exe monappli 800x600 2"
un double click

"java.exe monappli 800x600 3"
un click droit

je poste ça dasn "API"... j'ai comme un doute....

10 réponses

cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
10 mai 2004 à 13:37
Salut

regarde la classe java.awt.Robot
elle permet de simuler des clics ou des évènements du clavier

A+
DOBELIOU
0
izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005
10 mai 2004 à 15:30
merci,
voilà ... ça se déplace mais ça clique pas...???!!!

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import java.lang.*;

public class moveMouse
{
public static void main (String[] args) throws Exception
{ int x;
int y;
int clik;
x = Integer.parseInt(args[0]);
y = Integer.parseInt(args[1]);
clik = Integer.parseInt(args[2]);
Robot RobotMoveMouse = new Robot();
RobotMoveMouse.mouseMove(x,y);
RobotMoveMouse.mousePress(clik);
RobotMoveMouse.mouseRelease(clik);
}

}
0
izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005
10 mai 2004 à 16:04
ça click comme ça... mais faut que je gère mieux les choix de types de click.... droit / double / gauche

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.lang.*;

public class moveMouse
{
public static void main (String[] args) throws Exception
{ int x;
int y;
int clik;
x = Integer.parseInt(args[0]);
y = Integer.parseInt(args[1]);
clik = Integer.parseInt(args[2]);
Robot RobotMoveMouse = new Robot();
RobotMoveMouse.mouseMove(x,y);
RobotMoveMouse.mousePress(InputEvent.BUTTON3_MASK);
RobotMoveMouse.mouseRelease(InputEvent.BUTTON3_MASK);
}

}
0
izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005
10 mai 2004 à 16:40
Bon ben voilà y tout qui marche...
...pas peu fière de moi sur ce coup là

tenez pour ceux que ça interesse :

/*
*moveMouse.java
*http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Robot.html#mousePress(int)
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.lang.*;

public class moveMouse
{
public static void main (String[] args) throws Exception
{ int x;
int y;
int clik;
x = Integer.parseInt(args[0]);
y = Integer.parseInt(args[1]);
clik = Integer.parseInt(args[2]);
Robot RobotMoveMouse = new Robot();
RobotMoveMouse.mouseMove(x,y);
if(clik==1){
RobotMoveMouse.mousePress(InputEvent.BUTTON1_MASK);
RobotMoveMouse.mouseRelease(InputEvent.BUTTON1_MASK);
}
else if (clik==2){
RobotMoveMouse.mousePress(InputEvent.BUTTON1_MASK);
RobotMoveMouse.mouseRelease(InputEvent.BUTTON1_MASK);
RobotMoveMouse.mousePress(InputEvent.BUTTON1_MASK);
RobotMoveMouse.mouseRelease(InputEvent.BUTTON1_MASK);

}
else{
RobotMoveMouse.mousePress(InputEvent.BUTTON3_MASK);
RobotMoveMouse.mouseRelease(InputEvent.BUTTON3_MASK);
}
}



}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
orelero Messages postés 8 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 4 février 2005
16 janv. 2005 à 13:46
Salut iztoogood , j'suis pas doué en java (j'ai qu'une année de formation en 2eme année de mias).

Est ce que tu pourrais mettre des commentaires pour les lignes de codes
significatives parceque je ne comprends pas trop : ca sert à quoi
parseint exactement , args[] qu'est ce que c'est ... ?

MERKI :)
0
izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005
20 janv. 2005 à 16:23
orelero... t'es super dure là....moi aussi j'suis ne brêlouze
ça date ce truc j'lavais completement oublié ... et je suis passé à autre chose ...
et puis je part du principe qu'on explique bien que ce qu'on maitrise bien... y 1000 fois meilleur que moi pour expliquer ça ...
à la louche j'ai l'impression que args .. c'est l'argment passé à la class
soit par exemple:
20 30 1
args[0] sera la premier élément du tableau args soit ici 20

ici on déplace le curseur aux coordonées x-y 20-30 et on fait un clik gauche (1)

bonne chance, amuse toi bien

iztoogood
0
orelero Messages postés 8 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 4 février 2005
21 janv. 2005 à 12:05
salut iztoogood , en fait g fini par comprendre un peu pres ce que c'est. Par contre est ce que tu sais comment ne pas ecouter une fenetre mais plutot l'ecran carrement , c'est a dire ke getX/Y donneraient les coordonnées du curseur avec pour origine le coin haut , a gauche de l'ecran... en fait ds mon bouquin java ils ne donnent que des exemples ou c'est une fentre qui est en meme temps la source et l'ecouteur dc pas interessant pour moi . Merci :)
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
21 janv. 2005 à 12:36
Tu écoutes toujours les coordonnées du curseur dans la fenêtre, et tu rajoutes les coordonnées du coin haut/gauche de la fenêtre, que tu peux obtenir avec maFrame.getBounds(); (enfin, je crois que c'est cette méthode, cf doc)

Salut

Dobel
[Une fois rien, c'est rien; deux fois rien, ce n'est pas beaucoup, mais pour trois fois rien, on peut déjà s'acheter quelque chose, et pour pas cher]
0
orelero Messages postés 8 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 4 février 2005
21 janv. 2005 à 13:20
merci pour la reponse dobel , mais en fait si j'ai bien pigé mon bouquin de java , quand il y a un ecouteur il doit y avoir une source et dans ce cas la source ca serait la fenetre ou alors meme si on sort de cette fenetre on aura toujours des coordonnées relatives ?
Pour palier à ca p-e que tu peux me dire comme instancier une fenetre d'internet explorer avec une url particuliere , à partir d'une application java ? merci !!
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
21 janv. 2005 à 14:06
Salut



tu peux faire :



try{
Runtime.getRuntime().exec("C:/Program Files/Internet Explorer/iexplore.exe http://www.javafr.com");
}
catch (Exception ioe) {
ioe.printStackTrace();
}


Mais j'ai du mal à comprendre où tu veux en venir...

Tu n'aura aucun contrôle sur l'InternetExplorer depuis Java...



J'espère que ca pourrat t'aider.
A+

Dobel
[Une fois rien, c'est rien; deux fois rien, ce
n'est pas beaucoup, mais pour trois fois rien, on peut déjà s'acheter
quelque chose, et pour pas cher]
0
Rejoignez-nous