Fórum Detectar tecla pressionada - keyPressed() #569803
30/03/2014
0
Meu sistema captura a tecla pressionada e entrega uma determinada ação, como segue abaixo:
Classe Principal
Função para capturar ação:
Agora, eu não posso permitir que o usuário mantenha uma tecla pressionada, por exemplo, no caso acima, a tecla mantida pressionada vai chamar a MinhaFuncao() diversas vezes seguidas, esta função faz consultas em DB, o que causa lentidão e até travamento do sistema.
Existe alguma forma de cortar a ação do teclado identificando apenas um pulso?
this.addKeyListener(this);
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_T) {
MinhaFuncao();
}
}
Dinho Pereira
Curtir tópico
+ 0
Responder
Posts
31/03/2014
Carlos Melchiades
E se a sua função retornasse um valor...tenta ae pra ve se da certo...
boolean funcaoFechada = true;
...
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_T) {
if(funcaoFechada){
funcaoFechada = false;
funcaoFechada = MinhaFuncao(); //qndo fechar retorna true;
}
}
}
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)