Pergunta

Eu estou escrevendo um aplicativo em Java que coloca um ícone na bandeja do sistema (via SWT ). Quando este ícone é clicado, eu gostaria de tê-lo automaticamente digitar algumas teclas (através do rel classe Robot ) em qualquer campo de texto está em foco no momento do clique (poderia ser em qualquer janela). Infelizmente, clicando no ícone na bandeja do sistema rouba o foco longe da janela anteriormente focado, roubando assim os cursos chaves.

Existe uma maneira de fazer com que o texto a ser digitado na janela anteriormente focalizado?

Foi útil?

Solução

Provavelmente não, pelo menos não com facilidade. Este problema foi discutido antes.

Outras dicas

Embora não pode ser considerado uma solução oficial, eu fui encontrando algum sucesso através da emissão de cursos chaves ALT+TAB imediatamente antes de emitir os cursos chaves textuais.

Robot robot = new Robot();

robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_TAB);

// ... The keyPress/keyRelease pairs for the actual characters now begin

Como eu disse, isso está longe de ser uma solução oficial, considerando a combinação ALT+TAB não pode ser invocado para ser um comando universal transição foco. No entanto, ele parece estar ajustando o projeto de lei para a minha situação particular.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top