Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    29

    [JAVA] tastierino numerico con caratteri

    Ciao a tutti...
    sto provando ad implementare un tastierino numerico(tipo quello di un cellulare) che mi permetta di inserire oltre che i numeri, anche i caratteri.
    L'unica soluzione che mi viene in mente finora è questa:
    mi creo una class Tastierino e mi dichiaro una matrice

    char tasto[][]=new char[numeroTasti][numeroCaratteri];

    dove numeroTasti è appunto il numero di tasti(12)e numeroCaratteri è il numero di comandi assegnati a ciascun tasto(7 o 8...); del tipo:

    tasto[1][0]='1';
    tasto[1][1]='a';
    tasto[1][5]='B';

    !!!una faticaccia!!!

    quindi mi faccio restituire il tasto corrente con un metodo getCarattere(nTasto, nCarattere)....
    dove nTasto è il tasto premuto e
    nCarattere è il numero di volte che clicco su quel tasto

    A parteil fatto che ancora non sono sicuro di riuscire a farla funzionare con interfaccia grafica... qualcuno saprebbe suggerirmi una soluzione migliore, o se esiste qualche libreria che potrebbe aiutarmi?

    Grazie anticipatamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,059
    personalmente farei l'array monodimensionale e passerei una stringa con tutti i caratteri associati a quel tasto. Poi nel actionPerformed registrerei il tempo di sistema alla pressione del tasto e una variabile int inizializzata ad 1 (ossia il tasto è stato premuto una volta): se prima di un tempo prestabilito arriva una seconda pressione dello stesso tasto incrementerei quella variabile intera di 1 e ricomincerei il conto del tempo trascorso dalla pressione. Se passa il tempo prestabilito affinchè sia considerata conclusa l'azione su quel tasto oppure arriva la pressione di un tasto diverso, restituirei il carattere nella stringa associata alla posizione

    (numero_di_pressioni-1) mod lunghezza_stringa_associata

    Saluti
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    29
    Grazie!! è molto più logico l'array monodimensionale.... Per registrare il tempo del sistema devo utilizzare la classe TimerTask o esiste qualche metodo che me lo gestisce automaticamente...
    Se esiste (lo spero), potresti indicarmelo?

    Gentilissimo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,059
    System.currentTimeMillis() restituisce un long con il tempo di sistema espresso in millisecondi.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    29
    non riesco a a capire come utilizzare System.currentTimeMillis()... a me, più che il tempo di sistema mi servirebbe un metodo che trascorso un lasso di tempo senza effettuare altre pressioni sul bottone mi invochi il mio metodo getCarattere(nTasto, nPressioni), conoscete qualche metodo che mi permette di eseguire questa operazione oppure devo crearmi un Timer di java.util?
    Potrebbe aiutarmi qualcun altro oltre Andrea1979 che finora mi è stato di grande aiuto?

    Grazie per l'interesse.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.