Membro desde: 08/01/2009 12:32:03
Mensagens: 4
Offline
Estou tentando fazer um programa que faz uma varredura na tela e procura por um determinado botão e clica nele
mas não sei qual classe é responsável por fazer essa varredura na tela .... ele pode procurar tanto pela imagem do botão
equiparando ele com uma imagem guardada em arquivo ou também podendo buscar pelo texto que esta em seu interior
parece simples mais estou quebrando a cabeça pra fazer isso
Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline
Cara,
Dê uma procurada pelo Jemmy ou o Abbot. São frameworks utilizados em Test-Driven Development para rastrear componentes de UI e simular interações de usuário, como cliques em botões e digitação em caixas de texto.
programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
Essa varredura é em uma aplicação swing? Se estiver em um JFrame, tem o método getComponents que retorna um vetor com todos os componentes do JFrame. Aí você faz sua verificação nesse vetor e usa o método doClick() de JButton.
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
Acho que é possivel voce fazer o ato de digitar e clicar com a classe Robot o problema estaria no reconhecimento de imagens.. procurar um botão só com a imagem dele vai demorar muito tempo.. voce tem que procurar pixel a pixel uma imagem que seja igual ao da imagem.
Membro desde: 08/01/2009 12:32:03
Mensagens: 4
Offline
Nao tem pelomenos como achar um texto e obter a posição dele através de um OCR ? eu tentei procurar um ocr mais so achei um que rastreia imagens ... a principio
eu consegui fazer o java tirar uma screen salvar em arquivo
e analisar essa imagem ... mais não to conseguindo obter
a posição do botão
eu poderia fazer simplesmente ele clicar no botão como vc disse com o robot mais tenho q levar em consideração que cada usuario pode estar usando uma resolução diferenciada
ou mesmo estar com a janela em varios pontos da tela ...