Dúvidas

Pessoal eu tenho uma aplicação em java que simula umas teclas sendo pressionadas automaticamente. Tem alguma maneira de anexar meu programa em java pra ele “digitar” num bloco de notas? Só falto “anexar” meus comandos somente pra o bloco de notas, porque se eu minimizar o bloco de notas meu programa continua digitando no desktop. Qual a maneira de focar somente no bloco de notas, mesmo minimizando o bloco?

Outra dúvida é que estou exportando meu arquivo.jar, no meu pc roda de boa mas se eu passar pra outra pessoa ele não encontra as imagens, o que posso fazer?

Isto é meio complicado para se fazer com java pois, isto é uma solução a nível do SO, vc consegue até ver se o processo está aberto ou não, porem para verificar coisas como qual o estado que a janela se encontra(minimizada,maximinizada), vc precisará de algo nativo mesmo, ou se puder faça tudo em C++ que ficará melhor.
No C++ tem umas libs que te auxiliam com este tipo de coisa, tem uma lib da M$ que lida com as janelas do Windows de uma olhada nisto:

A primeira dúvida preciso fazer em java =/ + obrigado, vc tem solução para a segunda dúvida?

As imagens tem que estar dentro do .jar em algum dos pacotes da sua aplicação.

E você tem que carrega-las usando:

getClass().getResource("/nome/do/seu/pacote/imagem.png")

[quote=luistiagos]Isto é meio complicado para se fazer com java pois, isto é uma solução a nível do SO, vc consegue até ver se o processo está aberto ou não, porem para verificar coisas como qual o estado que a janela se encontra(minimizada,maximinizada), vc precisará de algo nativo mesmo, ou se puder faça tudo em C++ que ficará melhor.
No C++ tem umas libs que te auxiliam com este tipo de coisa, tem uma lib da M$ que lida com as janelas do Windows de uma olhada nisto:


[/quote]
eu queria isso, em java HWND notepadWindow = ::FindWindow(“notepad”, 0); dai minha aplicaçao em java irá ficar simulando as teclas, mesmo eu minimizando o notepad, as coisas continuarão sendo digitadas.

getClass().getResource(“imagens/on.jpg”);
getClass().getResource(“imagens/on2.jpg”);
JImagePanel img1 = new JImagePanel(
loadImage(“imagens/on.jpg”));
JImagePanel img2 = new JImagePanel(
loadImage(“imagens/on2.jpg”));

seria assim?

  1. Tem uma / na frente de imagens.
getClass().getResource("/imagens/on.jpg"); 
  1. Certifique-se que letras maiúsculas e minúsculas batem. Embora no Windows isso não faça diferença, para o .jar faz;
  2. Imagens tem que ser um pacote no seu projeto, não uma pasta qualquer. Pacotes vão para dentro do .jar
  3. Quando postar código, use a tag code:
    http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

Como está implementado seu método loadImage?

[code]private static BufferedImage loadImage(String file) throws IOException {

	           return ImageIO.read(new File(file));
	   
	       }

[/code]

Quer que eu poste meu código fonte todo?

Mude-o para:

private static BufferedImage loadImage(InputStream stream) throws IOException { return ImageIO.read(stream); }

E aí faça a carga das imagens assim:

JImagePanel img1 = new JImagePanel(loadImage(getClass().getResourceAsStream("/imagens/on.jpg"))); JImagePanel img2 = new JImagePanel(loadImage(getClass().getResourceAsStream("/imagens/on2.jpg")));

Ta dando um erro, The constructor JImagePanel(InputStream) is undefined.

Faltou chamar o loadImage, já alterei o código ali em cima.

O Build fat não está rodando nem no meu pc =/

Eu criei um package chamado imagens e coloquei as imgs lá até ai tudo certo? No Eclipse roda de boa, basta criar um executavel(uso o BuildFatjar) antes ele rodava apenas no meu pc, depois q modifiquei não abre mais, errei alguma coisa. Quer q eu poste a class toda?

Nenhuma idéia?

Bump