Controle de saisie grace a focuslisteners

greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008 - 18 avril 2007 à 15:58
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008 - 25 avril 2007 à 03:45
Bonjour,

je cherche a faire un controle de saisie dans un formulaire sur plusieurs champs tel que nom, prenom et date (vérifier que nom est bien en lettres etc...)

je travaille dans une interface graphique avec des JTextfield. J'ai donc pensé au focusLost. En fait l'utilisateur démarre sur le jtxtf nom et je veux que lorsqu'il clic dans un autre jtxtf, le programme fasse le controle de cohérence directement.

Avant j'utilisais un plugin avec eclispe dont je ne me souviens plu du nom quime permettait de faire l'interface graphique et les listeners facilement mais j'ai la flemme de le réinstaller car je n'ai plus que ce controle à faire.

Pourriez vous m'indiquer comment faire ce listerner sur un jtextfield on focuslost, je n'arrive pas à retrouver la synthaxe.

voila mon textfield :

private JTextField getTxtf_nom() {
        if (txtf_nom == null) {
            txtf_nom = new JTextField();
            txtf_nom.setBounds(new Rectangle(165, 14, 214, 20));
            txtf_nom.requestFocus();
            /*try
            {
                Double.parseDouble(txtf_nom.getText());
            }
            catch (Exception controle) {
                JOptionPane.showMessageDialog(null, "Entrez des lettres !!!") ;
            }*/
        }
        return txtf_nom;
    }

et voici l'évènement onfocuslost

try
{
    Double.parseDouble(txtf_nom.getText());
}
catch (Exception controle) {
    JOptionPane.showMessageDialog(null, "Entrez des chiffres !!!") ;
}

D'autre part, avec le parsedouble, je peux vérifier que le champs ne contient bien que des chiffres mais comment puis je faire pour vérifier qu'il ne contient bien que des lettres (y'aurais pas un petit ! à mettre quelquepart ?)

Merci d'avance pour votre aide précieuse

Cordialement

6 réponses

Fifan Messages postés 26 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 10 mai 2007
18 avril 2007 à 17:15
Il te faudrait utiliser un JFormattedTextField à la place de ton JTextField.
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
18 avril 2007 à 17:44
j'ai lu deux trois trucs sur les formatted.. et j'ai rien compris donc je me suis rabattu sur un listeners ce qui est pas mal non plus après tout

Tu aurais u lien sinon pour les formatted.... ?

je préfère tout de même le listeners car plus simple, je ne suis que débutant en java.
0
Fifan Messages postés 26 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 10 mai 2007
19 avril 2007 à 10:09
Pour t'assurer qu'il n'y a que des chiffres tu peux faire:
 JFormattedTextFiled formattedTextField = new JFormattedTextField(NumberFormat.getInstance());
et pour des entiers:
JFormattedTextFiled formattedTextField = new JFormattedTextField(NumberFormat.getIntegerInstance());

Pour les liens, as-tu regardé la javadoc ?
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
24 avril 2007 à 21:15
et pour s'assurer qu'il n'y a que des lettres ou espaces ???

merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
25 avril 2007 à 01:32
je me suis rendu compte que c'était pas évident de m'aider sans exemple

Voici le champ qui ne doit accepter que des lettres :

txtf_nom = new JTextField();
txtf_nom.setBounds(new Rectangle(165, 14, 214, 20));
txtf_nom.requestFocus();

J'ai penser à utiliser un if à la validation du formulaire en vérifiant que le champ ne contient ni de 1, 2, 3 .. mais bon c'est pas terrible.

Merci d'avance pour votre aide
0
greglover Messages postés 58 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 10 mars 2008
25 avril 2007 à 03:45
a croire que sa m'amuse de polluer mon propre post...

les JformattedTextfield c'est trop bien. Je viens de les tester sur le numéro de téléphone mais je cherche toujours comment faire pour que cela marche avec le champ nom.

A+
0
Rejoignez-nous