adrienr11vdv
Messages postés99Date d'inscriptionjeudi 13 juillet 2006StatutMembreDernière intervention16 avril 2009
-
12 mars 2007 à 14:06
adrienr11vdv
Messages postés99Date d'inscriptionjeudi 13 juillet 2006StatutMembreDernière intervention16 avril 2009
-
13 mars 2007 à 10:10
bonjour à tous,
actuellement, je développe une activité en java qui utilise des JFormattedTextField.
Dans l'une de ces JFormattedTextField, je voudrais que l'on ne puisse saisir que des chiffres.
Mon code marche très bien sauf que je ne peux saisir que un chiffre dans la JFormattedTextField.
Voici le code:
public
cs_bygui
Messages postés51Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention16 juin 2008 13 mars 2007 à 09:45
bonjour,
voila une maniere:
tu creer ta propre classe textField:
public
class OwnJTextField
extends JTextField{
/**
Numero
de
serialisation
par
defaut.
*/
private static final long serialVersionUID = 3961321141307244610L;
public OwnJTextField (
int limite,
int taille) {
super(taille);
setDocument(
new limiteDigitDocument(limite));
}
static class limiteDigitDocument
extends PlainDocument {
/**
Numero
de
serialisation
par
defaut.
*/
private static final long serialVersionUID = 3746152079483706706L;
private int limite;
public limiteDigitDocument(
int limite) {
super();
this.
limite = limite;
}
public
void insertString (
int off, String s, AttributeSet a)
throws BadLocationException {
if ((s.length() + getLength() >
limite) || (s ==
null ))
return;
/**Ici tu met la caracteres considérés comme valide
*/
if(
"1234567890AZERTYUIOPMLKJHGFDSQWXCVBN".indexOf(s.toUpperCase()) == -1)
return ;
super.insertString(off, s, a);
}
}
}
et ensuite tu l'utilise comme ceci:
txt =
new OwnJTextField(int nbCaract,int tailleTextField);
Si tu veux une taille non limité, il n'y a que peu de chose à changer