View Full Version : Tastiera....in Java
Salve gente,
avrei la necessità di disabilitare la tastiera per non poter scrivere in una TextField ma solo le lettere i numeri no. Conoscete qualche comando opportuno?
Grazie...a tutti
non ho capito per disabilitare la tastiera cosa intendi.
se in un textfield vuoi scrivere solo lettere mi vengono in mente due modi:
1) aggiungi al textfield un listener (CaretListener, penso) e nel listener "cancelli" qualsiasi input non sia una lettera. non e' un modo molto elegante :O
2) estendi la classe JTextField overridando il metodo createDefaultModel(), facendogli ritornare una classe che estende Document e che rifiuta gli input che non vuoi. penso sia migliore del precedente.
Originariamente inviato da kingv
non ho capito per disabilitare la tastiera cosa intendi.
se in un textfield vuoi scrivere solo lettere mi vengono in mente due modi:
1) aggiungi al textfield un listener (CaretListener, penso) e nel listener "cancelli" qualsiasi input non sia una lettera. non e' un modo molto elegante :O
2) estendi la classe JTextField overridando il metodo createDefaultModel(), facendogli ritornare una classe che estende Document e che rifiuta gli input che non vuoi. penso sia migliore del precedente.
Forse prima non ho scritto molto bene in italiano. freatta!
In pratica in una textField io voglio scrivere solo numeri e non lettere.
Ciao e grazie ancora
Come ti è stato detto, aggiungi un KeyListener alla tua textBox, testi il tasto premuto, e se non ti va bene consumi l'evento...
jTextField.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent k)
{
if (k.getKeyCode() .... )
.....
else
k.consume();
}
});
Per testare facilmente se un carattere è una cifra puoi usare
Character.isDigit( carattere)
giusto, un KeyListener e non un CaretListener :O
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.