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

Messages postés
114
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
- - Dernière réponse : cs_redbar
Messages postés
114
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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
227
3
Merci
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");
}
}	

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
227
0
Merci
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);
}	
Commenter la réponse de cs_Julien39
Messages postés
114
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
0
Merci
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
Commenter la réponse de cs_redbar