[Respondido] manter tecla pressionada gera varias chamadas a keyPressed/Released
6 respostas
T
ThankChenus
quando eu mantenho uma tecla pressionada…por exempla a tecla VK_LEFT;
o listener “pensa” que eu estou apertando e soltando a tecla repetidas vezes…
o resumo do codigo
o problema é que eu quero chamar um metodo pelo press e released, mas só quando a tecla for realmente pressionada e solta, mas nao quando se mantiver pressionada… esta confusão do listener esta me deixando confuso…
Pressed
Pressed
Pressed
Pressed
Pressed
Pressed
Released
Pressed
Pressed
Pressed
Pressed
Pressed
Released
Pressed
Pressed
Pressed
Pressed
Pressed
Pressed
Pressed
Pressed
Released
Tchauzin!
NO caso da Lina, você pode "amarrar" a chamada do evento por uma variável booleana também... Assim ele só chama a instrução que corresponde a impressão de "Pressed" uma vez até você soltar e apertar o botão de novo.
OBS: Mas isso é meio feio...
T
thingol
Manter uma tecla pressionada ativa a auto-repetição. Para comprovar isso, mantenha uma tecla qualquer (como a letra A) e a mantenha pressionada. Não é porque a tecla é o Shift ou o Control que ela não tem auto-repetição.
T
ThankChenus
da pra desativar esta auto-repetição sem usar boolean ?
R
roger_rf
A auto-repetição das teclas é uma características do subsistema de entrada de dados do seu sistema operacional (Windows, Linux) ou ambiente operacional (Gnome, KDE), ou seja, é algo que idealmente não deveria ser gerenciado pela sua aplicação. Assim, em vez de desativar a auto-repetição, o ideal é detectar e processar essa situação de alguma maneira dentro da sua aplicação, sendo uma saída possível a variável boolean sugerida anteriormente.
T
ThankChenus
Bom…ja que nao tem jeito…vou tentar com boolean mesmo,…
è que com boolean estava parecendo meio gambiarra,mas já que é assim ^^.