Controler la saisie dans un jTextField

Signaler
Messages postés
1
Date d'inscription
samedi 19 octobre 2002
Statut
Membre
Dernière intervention
19 octobre 2002
-
Messages postés
1
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
12 juin 2011
-
Bonjour.
Je cherche à controler au moment de la frappe que le caractere saisie est bien numerique.
je souhaiterais aussi pouvoir controler la longueur de la chaine et le positionnement du point afin d'avoir des nombres décimaux a 2 chiffres après le point par exemple.
Des codes ayant ces fonctions existent ils ?
merci par avance

5 réponses

Messages postés
261
Date d'inscription
jeudi 5 septembre 2002
Statut
Membre
Dernière intervention
6 octobre 2005
11
Ajoute un carretListener à ton TextField. Dans cet écouteur, tu récupéres ton texte, tu le controle et le tour est joué
JHelp
Messages postés
49
Date d'inscription
mercredi 6 février 2002
Statut
Membre
Dernière intervention
5 juillet 2005

Pouvez-vous me dire comment cela marche le caretListener?

Merci
Messages postés
8
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2003

J'ai trouver un classe qui permet de faire ca :
la classe JTextFieldLimit.
------------------------------------------------------------
import javax.swing.text.*;

public class JTextFieldLimit extends PlainDocument {
private int limit;
// optional uppercase conversion
private boolean toUppercase = false;

JTextFieldLimit(int limit) {
super();
this.limit = limit;
}

JTextFieldLimit(int limit, boolean upper) {
super();
this.limit = limit;
toUppercase = upper;
}

public void insertString
(int offset, String str, AttributeSet attr)
throws BadLocationException {
if (str == null) return;

if ((getLength() + str.length()) <= limit) {
if (toUppercase) str = str.toUpperCase();
super.insertString(offset, str, attr);
}
}
}
------------------------------------------------------------
compile la et apres, pour l'utiliser, tu fait :

int limitation=5; // Limité à 5 caractéres
monJTextField.setDocument(new JTextFieldLimit(limitation));

Il y à meme un constructeur qui permet de mettre en majucule... perso, jje n'en ai pas besoin, mais bon, si qq1 en a besoin, pk pas .
voila, je suis moi meme content de l'avoir trouvé, j'en avait besoin, et en plus, c'est beaucoup plus simple que le CaretListener ;)
bonne continuation a toi !!!
Messages postés
1
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
24 avril 2010

Bonjour !
Je veux afficher un message d'erreur si aucun saisie dans le champ du jTextField , alors comment sera t-il le code dans cette condition?
Merci en avance JHelper :)
Messages postés
1
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
12 juin 2011

salut
vous vouvez utuliser JFormattedTextField !! ...est voila !

JFormattedTextField num = new JFormattedTextField(NumberFormat.getNumberInstance());

;)