Quando si digita in una casella di testo e si tiene premuto un tasto, si ottiene (a ....... aaaaaaaaaaaaaaa), a seconda del ritardo della pressione del tasto iniziale.Eliminazione del ritardo iniziale della pressione dei tasti
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
// Handle key press here
}
Sto creando un gioco in cui i riflessi dell'utente sono molto importanti. Come posso eliminare completamente questo ritardo? Il codice sopra non funziona. Ho anche provato a sovrascrivere processKeyEvent senza fortuna.
C'è un modo più semplice? – David
@David: Non pensarlo, penso che aioobe abbia ragione, in quanto non c'è una soluzione alternativa, dato che è basata su tutto il sistema operativo. – Nightfirecat
Tieni presente che questo approccio funziona solo su Windows poiché genera più eventi keyPressed (tenendo premuto il tasto) e solo una singola chiaveEsposizione rilasciata (quando viene rilasciata la chiave). Tuttavia, credo che altri sistemi operativi genereranno un tasto premuto/tasto Una coppia di eventi rilasciati alla frequenza di ripetizione che vanifica lo scopo di utilizzare un timer. Non ho visto una buona soluzione indipendente dalla piattaforma per questo problema. – camickr