|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Mar 2007
Messaggi: 24
|
[JAVA] : scrittura stile sms
Salve a tutti, sto realizzando la scrittura stile sms (quella classica, non il t9!) con i tasti numerici della tastiera.
Da ciò che ho capito, ad ogni tasto numerico dev'essere associato un array contenente generalmente 3 o 4 caratteri. 1) Quando si preme un tasto, si scrive il carattere indicato dall'indice i dell'array relativo. 2) Si avvia un Timer di durata 1, 1,5 secondi. - Se, prima dello scadere del timer, si preme lo stesso tasto, si cicla attraverso i caratteri dell'array e si riprende dal punto 1 (si passa anche il valore dell'indice) - Se lo stesso tasto viene premuto e il timer è già scaduto, si riprende dal punto 1 con i = 0. Per quanto riguarda il codice, ho pensato di implementare l'interfaccia KeyListener con i relativi metodi: keyPressed, keyTyped e e keyReleased, il punto è che, a mio avviso, la procedura è ricorsiva e mi chiedevo se devo realizzare un metodo a parte o se posso sfruttare keyPressed dell'interfaccia KeyListener ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Ricorsiva?? Non mi sembra.
Io farei così: partiamo dall'evento "è stato premuto un tasto 1-9". 1) Il tasto premuto è lo stesso del precedente? Se sì, vai a 2) altrimenti vai a 4) 2) Il timer è attivo? Se sì, vai a 3) altrimenti vai a 4) 3) Passa al carattere successivo nell'array e riavvia il timer. 4) Inizia con il primo carattere nell'array e (ri)avvia il timer. Spero di non aver sbagliato concettualmente .... non uso quasi mai gli sms. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Riprendendo la sequenza illustrata aggiungo che se si arriva al punto 4)
Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Mar 2007
Messaggi: 24
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:53.