Tempo é um troço foda… Só falta… nunca tem sobrando…
Depois de muito tempo sem um post, aqui estamos nós.
Hoje a gente vai desvendar a classe Robot, muito útil para testes automáticos, criação de bots e outros.
Em resumo, a classe Robot simula eventos do teclado, mouse e outros.
É tudo muito fácil, vamos ao código:
try {
Robot robot = new Robot();
robot.delay(1000);
robot.keyPress(KeyEvent.VK_J);
robot.keyPress(KeyEvent.VK_A);
robot.keyPress(KeyEvent.VK_V);
robot.keyPress(KeyEvent.VK_A);
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyPress(KeyEvent.VK_S);
robot.keyPress(KeyEvent.VK_I);
robot.keyPress(KeyEvent.VK_M);
robot.keyPress(KeyEvent.VK_P);
robot.keyPress(KeyEvent.VK_L);
robot.keyPress(KeyEvent.VK_E);
robot.keyPress(KeyEvent.VK_S);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
|
Para testar esse código basta executar o aplicativo e alternar para um editor de texto qualquer (em menos de 1 segundo).
Tudo o que esse código faz é criar um novo objeto da classe Robot, esperar por um segundo (pra dar tempo de alternar para um editor de texto) e simular o pressionamento de algumas teclas.
Um efeito bem legal é colocar um delay entre cada uma das teclas. Isso faz parecer que as teclas estão sendo digitas. Segue o código:
try {
Robot robot = new Robot();
robot.delay(1000);
robot.keyPress(KeyEvent.VK_J);
robot.delay(500);
robot.keyPress(KeyEvent.VK_A);
robot.delay(500);
robot.keyPress(KeyEvent.VK_V);
robot.delay(500);
robot.keyPress(KeyEvent.VK_A);
robot.delay(500);
robot.keyPress(KeyEvent.VK_SPACE);
robot.delay(500);
robot.keyPress(KeyEvent.VK_S);
robot.delay(500);
robot.keyPress(KeyEvent.VK_I);
robot.delay(500);
robot.keyPress(KeyEvent.VK_M);
robot.delay(500);
robot.keyPress(KeyEvent.VK_P);
robot.delay(500);
robot.keyPress(KeyEvent.VK_L);
robot.delay(500);
robot.keyPress(KeyEvent.VK_E);
robot.delay(500);
robot.keyPress(KeyEvent.VK_S);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
|
A classe Robot permite a simulação de eventos do mouse também:
try {
Robot robot = new Robot();
robot.mouseMove(1100, 10);
robot.delay(500);
robot.mousePress(InputEvent.BUTTON1_MASK);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
|
O código acima apenas coloca o mouse na posição 1100,10 da tela e simula um clique do botão esquerdo.
Post curto pra um assunto de fácil entendimento. Espero que ninguém encontre dificuldades quando estiver utilizando essa classe tão legal.
0 comentários :
Postar um comentário