Comment tester le type d'une valeur???

cs_damien781 Messages postés 79 Date d'inscription lundi 13 septembre 2004 Statut Membre Dernière intervention 13 décembre 2004 - 13 déc. 2004 à 17:11
Madvin Messages postés 123 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 26 août 2012 - 20 déc. 2004 à 01:54
Hello,

Dans les cases d'une Jtable , l'utilisateur peut entrer des valeurs mais uniquement d'un certain type ! Integer ou Float selon les cases...

Comment faire pour tester si la valeurs entrée par l'utilisateur correspond bien au type voulu ???

Dans le cas ou il entre un string il faudrait gere un message d'erreur...

Un d'entre vous a une bonne idée et un bout de code????

Merci les pros Java !!

A+

Damien !

1 réponse

Madvin Messages postés 123 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 26 août 2012 3
20 déc. 2004 à 01:54
Salut,

alors apparemment et après vérification, lorsque l'utilisateur entre des valeurs dans les cases de la JTable, ce sont des instances de la classe String.

Donc il te suffit de tester si cette string représente un Integer, un Float, ou tout autre type dans l'événement de validation d'une entrée dans une case de la JTable.

Pour tester si le String représente un Integer, tu as dans la classe Integer, la méthode :

public static Integer valueOf(String s)
throws NumberFormatException

Cette méthode te renvoie l'Integer formé à partir de la String s si sa valeur représente bien un Integer sinon ça lance l'exception.

Même méthode pour les Float :

public static Float valueOf(String s)
throws NumberFormatException

Voilà donc, il te suffit de récupérer et gérer les exceptions si tu veux savoir si la conversion n'a pas fonctionné.

Exemple avec le test pour l'Integer :

.....
.....
try{
Integer.valueOf(maJTable.getValueAt(numLigne,numColonne).toString());
}
catch(NumberFormatException e)
{
/// La conversion n'a pas fonctionnée : ce n'est pas un Integer.
}
......
......

Voilà j'espère que ça pourra t'aider.

@++
0
Rejoignez-nous