Foco de JFrame?

Olá gente, gostaria de saber se tem um metodo para direcionar o foco para um JFrame e a partir disso fazer com que ele não perca o foco nem mesmo se for minimizado.

Valeu!

Porque não Cria um JDialog e seta ele com Modal? :slight_smile:

Ok, agora vai depender… Se eu fizer um JDialog modal, consigo “seta-lo como invisivel”, e continuar com o foco mesmo se eu clicar em outras janelas fora do meu aplicativo?

Estou fazendo um programa para ler os movimentos do mouse e do teclado do usuario( juro que nao estou tentando criar um virus ), que quando eu clicar em um botao do programa, ele se torna invisivel e comeca a gravar os “movimentos” ate que eu pressione esc…

Porem meu problema esta quando eu tenho que fazer uma janela ficar invisivel, o que faz ela perder o foco, e consequentemente o keyListener da janela pare de funcionar…

Mas vou tentando… Talvez se eu setar o JDialog com setVisible(false), e depois setAlwaysOnTop(true) funcione…

Mas obrigado pela dica, Samuk

Olá, você parece estar querendo fazer um macro não? XD

Ola, para fazer isso você pode usar a classe Robot do pacote awt, ele não precisa de foco, e nem de um container para gravar os dados do mouse, tela, etc. O que você precisa é usar uma thread ou algo do tipo…
Ex: Pegando as coordenadas de o mouse em um intervalo de tempo de X ms para gravar elas em uma lista de coordenadas, tambem dá para fazer a comparação se o mouse se moveu (pelas coordenadas X e Y) – depois dá até para executar-las usando a classe Robot

Mais sobre java.awt.Robot:
http://www.javaprogrammingforums.com/java-se-api-tutorials/214-java-program-contol-computer-mouse-using-awt-robot-events.html
http://www.vaniomeurer.com.br/2009/02/19/como-usar-a-classe-robot/

[quote=fabioboh10]Olá gente, gostaria de saber se tem um metodo para direcionar o foco para um JFrame e a partir disso fazer com que ele não perca o foco nem mesmo se for minimizado.

Valeu![/quote]

Rapaz, você quer criar um programa que fique capturando as teclas digitadas?
Procure por “keylogger” e se realmente você quer algo que nenhum sistema operacional lhe atrapalhe, compre um equipamento que fica atachado ao USB :slight_smile:

Agora, se quiser apenas uma forma de acionar seu programa usando uma combinação especial de teclas (tecla de atalho), é possível registrar seu programa para uma tecla de atalho, usando um pouco de JNI.

Se isso funciona direitinho ou não é questão de você procurar uma biblioteca que encapsule a seguinte API do Windows:

(Não vou dizer mais nada :slight_smile: )

Ola parceiro, agradeço pela resposta. Realmente, a minha intenção era usar hotkeys juntamente com um programa que gravasse açoes e executasse como um macro.

A principio, consegui uma biblioteca que captura o que foi digitado, mesmo com o programa oculto e tambem com as bibliotecas de java.awt.Robot que foram citadas a cima, consegui . A biblioteca para captura se chama JNativeHook e se encontra no seguinte link: https://code.google.com/p/jnativehook/

Mas o assunto da sua resposta é interessante para estudo eu vou dar uma olhada mesmo assim.

Valeu e no mais era isso!