Comment tester un champt au format MaskFormatter [Résolu]

Messages postés
34
Date d'inscription
lundi 6 août 2007
Dernière intervention
27 février 2008
- - Dernière réponse : cerco2
Messages postés
34
Date d'inscription
lundi 6 août 2007
Dernière intervention
27 février 2008
- 14 août 2007 à 15:38
salut,
j'ai du mal à tester un champ de texte pour savoir s'il est vide ou non. en fait c'est un objet JFormattedTextField et j'ai utlisé  MaskFormatter pour le filtre de saisie. mais quand j'essai de tester mon champ avec cette instruction:

if (chmp_txt.getText().equals(""))
  System.out.print("remplissez d'abord le champ");
else
   System.out.print("Bionjour");

en laissant le champ vide, cela m'affiche toujours bonjour, alors qu'il est sencé m'affiché le premier message.
quelqu'un peut me dire pourquoi mon test ne marche pas ?
merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
3
Merci
Tu as testé la nullité du getText ou du getValue ???

Un champ JFormattedTextField doit s'utiliser avec le getValue et non le getText : le getText te renvoie ce qu'il affiche, c'est-à-dire parfois, ce qui n'est pas bon (vu que c'est validé à la validation du textfield !), le getValue lui par contre te renvoie la valeur exacte du champ : après validation !

C'est l'une des raisons de ma source d'ailleurs : enlever cette confusion en ne proposant que le get/setValue

Merci cs_DARKSIDIOUS 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
Essaye en testant plutôt la nullité du Value du JFormattedTextField.

Sinon, je te conseille d'utiliser mes typeControls (voir ma source portant ce nom) plutôt que les formatedtextfield : ils font la même chose mais en validant les données lors de la saisie et non pas lors de la validation, ce qui est plus intuitif pour l'utilisateur je trouve !
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
34
Date d'inscription
lundi 6 août 2007
Dernière intervention
27 février 2008
0
Merci
j'ai deja essayé de tester la nullité ça ne marche toujours pas, et quand je fait un
System.out.print("Test "+chmp_txt.getText()),  pour voir ce que contient le champ,
il m'affiche " Test " et suivi du vide, c'est à dire rien après la chaine Test, ça veut dire que le champ est reellement vide. mais pourtant le test ne marche pas.
Commenter la réponse de cerco2
Messages postés
34
Date d'inscription
lundi 6 août 2007
Dernière intervention
27 février 2008
0
Merci
bon j'ai testé la nullité du getText, mais apparament il n'est pas possible d'ecrire
chmp_txt.getValue()
Commenter la réponse de cerco2
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
Ben je n'ai pourtant pas la berlue (tirée de la javadoc) :
 
Object
getValue()
Returns the last valid value.

T'es sûr que chmp_txt est bien ton JFormattedTextField ?
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
34
Date d'inscription
lundi 6 août 2007
Dernière intervention
27 février 2008
0
Merci
c'est vrai t'as raison ça marche avec le getValue().
je te remercie beaucoup pour ton aide
bien à toi
Commenter la réponse de cerco2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.