Gestion d'exception sur un JoptionPane.showInputDialog [Résolu]

Signaler
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
-
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
-
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

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
350
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");
}
}	
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
350
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);
}	
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014

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