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
-
cs_redbar
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

3 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
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
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
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