salut,
Voila la question est déja dans le titre , je veux svoir comment utiliser les expressiosn regulieres pour valider le contenu d'un jtextfield
merci
salut,
Voila la question est déja dans le titre , je veux svoir comment utiliser les expressiosn regulieres pour valider le contenu d'un jtextfield
merci
Si c'est pour vérifier en direct cela doit pouvoir ce faire en implémentant un Document, sinon
Code : Sélectionner tout - Visualiser dans une fenêtre à part textField.getText().matches(".*");
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
je vois c'est un peu difficile pour moi, en effet je me propose d'ajouter deux jformattedtextfield a ma frame pour sasisr des valeurs obeissant aux formatx suivants;
premier format:
###°##'##.## - vous avez donc compris qu'il s'agit d'une positin en degre )
Pour ce format les trois premiers chiffres désignat les degrés peuvent être restreints a deux donc si l'utilisateur saisi 12°ce ,n'est pas une valeur erroné mais par contre la valeur manquante doit être remplacée par un zéro pour donner : 012°..
deuxieme format:
X##:##:## ( pour un offset horaire : exemple de valeurs +02:15:59 ou -11:23:56 )
aurais tu une idée comment mettre un bon masque pour les deux cas pour que le texte soit validé?
merci
Ce que tu peux faire, c'est utiliser de simples JTextField auxquels tu rajoute un FocusListener qui vérifie le format lorsque le focus est perdu (l'utilisateur quitte le JTextField).
Exemple pour le JTextField contenant la position en degré
Je te laisse le soin de faire la même chose pour l'offset horaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 JTextField degreTextField = new JTextField(); degreTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { String content = degreTextField.getText(); if("".equals(content)) { // On accepte que le champ soit vide donc on ne fait rien return; } if(content.matches("\\d{2,3}°\\d{2}'\\d{2}\\.\\d{2}")) { // Le texte est bon // Ajout du "0" en début de chaine si nécessaire if(content.length() == 11) { degreTextField.setText("0" + content); } } else { // Le texte n'est pas bon // On efface le texte degreTextField.setText(""); // Eventuellement afficher un message d'erreur } } });.
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
Tu peux aussi utiliser des JFormattedTextField...
http://prevert.upmf-grenoble.fr/Prog...TextField.html
oui je sais ca stormj'ai bien dit ca dés le depart , le probleme n'est pas le jformattedtextfield mais le format un peu complexe
merci
Partager