Teclas de atalho swing

8 respostas
diogoprosoft

Galera seguinte estou com uma situação estranha, tenho um sistema desktop que fica disparando uma sequencia de teclas de atalho para efetuar uma ação no windows por exemplo o ALT+TAB, assim o usuário seta e o sistema de monitoramento vai trocando as telas em um determinado tempo feito com Thread.sleep()]
Bom o ALT+TAB funciona normalmente no XP e no Win7 só que tem outro sistema que fica disparando as teclas CTRL+WINDOWS+LEFT para rodar um sistema de cubo chamado DESKSPACE bom o que está acontecendo é que no XP funciona mais trocaram SO e agora com o WIN7 não funciona, debugando parece que está dando pau ou na Thread ou no acumo de 3 teclas de atalho, fiz um teste com somente o ctrl + left e tbm não rolou. Alguém poderia me dar uma idéia?

8 Respostas

fabim

Vc trocou o SO e agora nao funciona… por acaso esse aplicativo usa ponte JNI pra fazer esses “strokes” de tecla nativamente?

diogoprosoft

Esse deskspace não é feito em java ele para rodar por default deve ser precionado ctrl+windows+left ai no meu sistema eu fiz assim

robot = new Robot();

	robot.keyPress(KeyEvent.VK_CONTROL);
	Thread.sleep(200);
	robot.keyPress(KeyEvent.VK_WINDOWS);

	Thread.sleep(2000);
	robot.keyPress(KeyEvent.VK_LEFT);
diogoprosoft

Só para lembrar que rodando o sistema no win7 ele consegue disparar as teclas ctrl e o windows mais não faz o left para girar a tela.

fabim

Não entendi o motivo desses sleeps entre as teclas, já usei Robot e esse intervalo entre pressionamento de tecla é desnecessário.

Tenta liberar essa teclas tambem, ao final de tudo de o keyRelease senao o Java entende que vc esta mantendo os 3 pressionados constantemente.

diogoprosoft

Os sleeps tive que usar pois estava disparando todas as teclas e o software não dava tempo de efetuar o efeito 3D lentamente do cubo

diogoprosoft

Coloquei os KeyRelease mesmo assim não funciona a terceira tecla.

Tuanny_Ramos

Por acaso essas telas que vão sendo trocadas são JInternalFrame ?
Estou tentando fazer um método que, ao serem pressionadas as teclas (CTRL + ALT + TAB) sejam alternadas as JInternalFrame no meu sistema.
Teria como você me dar um help sobre isso?

Att.
Tuanny

diogoprosoft

Não, as telas são trocadas através de um sistema chamado DeskSpace o meu sistema apenas fica enviando as teclas para o windows ai o software que fica trocando, pois ele recebe essas teclas

Criado 9 de novembro de 2011
Ultima resposta 11 de nov. de 2011
Respostas 8
Participantes 3