<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java Simples &#187; automacao</title>
	<atom:link href="http://www.javasimples.com.br/tag/automacao/feed" rel="self" type="application/rss+xml" />
	<link>http://www.javasimples.com.br</link>
	<description>Porque Java não precisa ser difícil...</description>
	<lastBuildDate>Tue, 03 Jan 2012 23:27:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Robot ? O Que é isso?</title>
		<link>http://www.javasimples.com.br/swing-awt/robot-o-que-isso</link>
		<comments>http://www.javasimples.com.br/swing-awt/robot-o-que-isso#comments</comments>
		<pubDate>Mon, 15 Mar 2010 01:47:04 +0000</pubDate>
		<dc:creator>Felipe Saab</dc:creator>
				<category><![CDATA[SWING/AWT]]></category>
		<category><![CDATA[automacao]]></category>
		<category><![CDATA[exemplo]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.javasimples.com.br/mundo-java/robot-o-que-isso/</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><!--:pt-->Tempo é um troço foda… Só falta… nunca tem sobrando…<br />
Depois de muito tempo sem um post, aqui estamos nós.</p>
<p>Hoje a gente vai desvendar a classe Robot, muito útil para testes automáticos, criação de bots e outros.</p>
<p>Em resumo, a classe Robot simula eventos do teclado, mouse e outros.</p>
<p>É tudo muito fácil, vamos ao código:</p>
<p><!--:--><span id="more-110"></span><!--:pt--></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">Robot</span> robot <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Robot</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_J</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_A</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_V</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_A</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_SPACE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_S</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_I</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_M</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_P</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_L</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_E</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_S</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>ex.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Para testar esse código basta executar o aplicativo e alternar para um editor de texto qualquer (em menos de 1 segundo).</p>
<p>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.</p>
<p>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:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">Robot</span> robot <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Robot</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_J</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_A</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_V</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_A</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_SPACE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_S</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_I</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_M</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_P</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_L</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_E</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	robot.<span style="color: #006633;">keyPress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_S</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>ex.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>A classe Robot permite a simulação de eventos do mouse também:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">Robot</span> robot <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Robot</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    robot.<span style="color: #006633;">mouseMove</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1100</span>, <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    robot.<span style="color: #006633;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    robot.<span style="color: #006633;">mousePress</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">InputEvent</span>.<span style="color: #006633;">BUTTON1_MASK</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>ex.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>O código acima apenas coloca o mouse na posição 1100,10 da tela e simula um clique do botão esquerdo.</p>
<p>Post curto pra um assunto de fácil entendimento. Espero que ninguem encontre dificuldades quando estiver utilizando essa classe tão legal.</p>
<p>[]s,</p>
<p>Saab.</p>
<p>PS: Esse post foi uma dica do Dang do <a href="http://www.programei.org" target="_blank">Programei.org</a>. Valew fera!<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.javasimples.com.br/swing-awt/robot-o-que-isso/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

