Gestion d'exception sur un JoptionPane.showInputDialog

Résolu
cs_redbar
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
- 24 août 2012 à 13:36
cs_redbar
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
- 27 août 2012 à 12:51
Bonjour à Tous
J'utilise un JOptionPane.showInputDialog pour saisir le nom d'un client dans mon application. Quand je click sur "OK" ça marche bien mais lorsque je click sur le bouton "Annuler" il est levé une exception. de ce type ;
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at mti.ReglementDeLaFacture$1.actionPerformed(ReglementDeLaFacture.java:132)



Voici le code de mon JOptionPane.showInputDialog.

int compteur = -1;
while(compteur < 0)
{
str = JOptionPane.showInputDialog(null, "Saisissez le nom du client" ,getTitle(),JOptionPane.INFORMATION_MESSAGE);

if(str.length() > 0)
{
compteur++;
System.out.println("Merci pour le resultat");
}else
{
System.out.println("Entrer votre nom à nouveau");
}
}			


je ne voudrais pas catcher l'exception . mais est_ce qu'il y a une autre façon de faire afin d'eviter de lever l'exception
merci pour votre aide
A voir également:

3 réponses

cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
24 août 2012 à 13:56
Salut,
int compteur = -1;
while(compteur < 0)
{
str = JOptionPane.showInputDialog(null, "Saisissez le nom du client" ,getTitle(),JOptionPane.INFORMATION_MESSAGE);

if(str!=null && str.length() > 0)
{
compteur++;
System.out.println("Merci pour le resultat");
}else
{
System.out.println("Entrer votre nom à nouveau");
}
}	
3
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
24 août 2012 à 14:02
Ce n'est pas très propre comme code, ca, c'est un peu mieux :
String str=null;
while(str==null || str.length()==0){
System.out.println("Entrer votre nom à nouveau");
str = JOptionPane.showInputDialog(null, "Saisissez le nom du client" ,getTitle(),JOptionPane.INFORMATION_MESSAGE);
}	
0
cs_redbar
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014

27 août 2012 à 12:51
Merci Julien39
a partir de ta proposition j'ai pu produire ce code

String nomclient    ="";
int cpt = -1;

while(cpt < 0)
{
nomclient = JOptionPane.showInputDialog(null, "Saisissez le nom du client" ,"Gestion de stock - Midas Touch Inc.",JOptionPane.INFORMATION_MESSAGE);
if(nomclient!=null)
{
if(nomclient.length() > 0)
{
nomclient = nomclient.toLowerCase();
cpt++;
System.out.println("Merci pour le resultat");
}else
{
System.out.println("Entrer votre nom à nouveau");
}

}else
{
break;
}
}

ce code marche bien Merci encore pour ton aide
0