PDA

View Full Version : [JAVA] : scrittura stile sms


Andale
05-11-2007, 15:29
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
:fagiano:

andbin
05-11-2007, 16:13
il punto è che, a mio avviso, la procedura è ricorsivaRicorsiva?? 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. :p

banryu79
05-11-2007, 16:40
Riprendendo la sequenza illustrata aggiungo che se si arriva al punto 4)


4) Inizia con il primo carattere nell'array e (ri)avvia il timer.


bisogna naturalmente "confermare" il carattere precedente & muovere il cursore "avanti" di una posizione, prima di passare al prossimo

Andale
05-11-2007, 16:57
Ricorsiva?? Non mi sembra.


E' vero!! scusate ma ho la mente alquanto annebbiata in questo periodo :(