Vérifier la saisie exclusive de chiffres dans un JTextField

joebar3333 Messages postés 41 Date d'inscription dimanche 24 octobre 2004 Statut Membre Dernière intervention 29 juin 2005 - 23 juin 2005 à 16:47
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 - 23 juin 2005 à 17:06
Salut,

Je veux vérifier dans un JTextField que l'utilisateur rentre bien un nombre. Le truc chaud est que la vérification doit se faire à la volée, i.e. dès qu'un nouveau caractère est entré.

Voila mon source:
monTexte.addCaretListener(new javax.swing.event.CaretListener() {
public void caretUpdate(javax.swing.event.CaretEvent evt) {
if(verifSaisie(monTexte.getText())==false)
{
JOptionPane.showMessageDialog(null,"Non numeric caracter", "Input error", JOptionPane.ERROR_MESSAGE);
monTexte.setText("");
}
}
});

La fonction verifSaisie détermine si la saisie est Ok ou pas. Mon problème vient du fait que j'essaie de remettre à blanc (monTexte.setText("");) le JtextField alors qu'apparamment il est bloqué. Voila l'erreur que j'obtiens: java.lang.IllegalStateException: Attempt to mutate in notification

Si quelqu'un pouvait m'aider ça serait vraiment cool.

Merci à tous.

2 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
23 juin 2005 à 16:57
je te propose 2 solutions: tu attache un KeyListener à ton TextField et tu verifie dans keyPressed(KeyEvent e) si e.getKeyCose() est entre KeyEvent.VK_NUMPAD0 et VK_NUMPAD9, sinon tu supprime le dernier caractère saisis
la 2ème dans le keyPressed tu essai de convertir le contenu du textFiel avec Integer.parseInt(....) (ou Double.pars.....) si une exception est tu supprime le dernier car
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
23 juin 2005 à 17:06
0
Rejoignez-nous