Salve a tutti, sto scrivendo un semplice videogame con le swing e vorrei impostare la potenza di un omino con il metodo classico della barra di spazio.
Quando il giocatore preme la barra si apre una finestra con una JProgressBar che aumenta e diminuisce il proprio valore, fino a che la barra di spazio non viene rilasciata.
Io gestisco la cosa con gli eventi keyPressed e keyReleased:
quando ricevo il primo keyPressed parte la barra, quando ricevo un keyReleased interrompo la corsa della barra, prelevo il valore e lo imposto come potenza di tiro.
Sotto windows tutto funziona bene, ma sotto linux ho un grosso problema: quando un tasto viene premuto ricevo una continua successione di eventi keyPressed e keyReleased, anche se in realta' non e' stato rilasciato nessun tasto, e questo mi manda a pallino il tutto. Infatti al primo keyReleased ricevuto la barra interrompe la propria corsa e imposta la velocita' dell'omino troppo bassa, non fa mai intempo ad arrivare a fine corsa.
Qualcuno a qualche idea per risolvere il problema, senza farmi cambiare tutta l'impostazione di gioco?