JAVA JOptionPane.showInputDialog
Fermé
Bonjour,
j'ai utilisé la méthode JOptionPane.showInputDialog(null,"Entrer le nom du fichier", Enregistrer", JOptionPane.PLAIN_MESSAGE) mais quand je clique sur le bouton (annuler) l'application se ferme et un message d'erreur qui s'affiche (java.lang.NullPointerException), je sais que je doit gerer une exception mais je sais pas comment, aidez moi SVP
j'ai utilisé la méthode JOptionPane.showInputDialog(null,"Entrer le nom du fichier", Enregistrer", JOptionPane.PLAIN_MESSAGE) mais quand je clique sur le bouton (annuler) l'application se ferme et un message d'erreur qui s'affiche (java.lang.NullPointerException), je sais que je doit gerer une exception mais je sais pas comment, aidez moi SVP
A voir également:
- JAVA JOptionPane.showInputDialog
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
6 réponses
Utilisateur anonyme
19 avril 2009 à 22:10
19 avril 2009 à 22:10
Salut,
Comme il n'y a pas eu de nouvelle réponse j'ai totalement oublié de donner ma solution désolé.
Pour ceux qui seraient intéressés:
En modifiant légèrement la réponse de sandul:
String fileName = "";
try {
fileName = JOptionPane.showInputDialog(null, "Entrer le nom du fichier", "Ouvrir",
JOptionPane.PLAIN_MESSAGE);
//Si on annule c'est la ligne suivante qui provoque la levée de NullPointerException
if (fileName.equals(null)) {} // on ne fait rien
}
catch(NullPointerException npe) // cas <annuler> : fileName.equals(null)
{
fileName = "Saisie annulée";
}
if (!fileName.equals("Saisie annulée") ){
in = new BufferedReader(new FileReader(fileName));
-------
Cordialement,
Dan
Comme il n'y a pas eu de nouvelle réponse j'ai totalement oublié de donner ma solution désolé.
Pour ceux qui seraient intéressés:
En modifiant légèrement la réponse de sandul:
String fileName = "";
try {
fileName = JOptionPane.showInputDialog(null, "Entrer le nom du fichier", "Ouvrir",
JOptionPane.PLAIN_MESSAGE);
//Si on annule c'est la ligne suivante qui provoque la levée de NullPointerException
if (fileName.equals(null)) {} // on ne fait rien
}
catch(NullPointerException npe) // cas <annuler> : fileName.equals(null)
{
fileName = "Saisie annulée";
}
if (!fileName.equals("Saisie annulée") ){
in = new BufferedReader(new FileReader(fileName));
-------
Cordialement,
Dan
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
6 août 2008 à 18:40
6 août 2008 à 18:40
Salut,
Euh, tu fais qqch du genre
Dans un autre ordre d'idées, pour les fichiers tu peux également utiliser JFileChooser.
++
Euh, tu fais qqch du genre
try { // ton code } catch (Exception e) { // la gestion de l'exception } finally { // éventuellement faire un clean ici: fermeture des handlers, des result sets, des connexions... }
Dans un autre ordre d'idées, pour les fichiers tu peux également utiliser JFileChooser.
++
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
>
NoooR
6 août 2008 à 19:00
6 août 2008 à 19:00
De quelle "forme" parles-tu? du bloc try..catch ou bien de l'appel à JFileChooser?
Bonjour euh je pense que la bonne solution c'est pas de gerer le NullPointerExpception par ce que ce genre d'exception es levée une fois qu'il y a un objet qui n'est pas initialisé enfin un projet d'allocation...il suffit de voir ce que fait la JOptionPane et donc évidement ce qu'elle doit faire en cas d'annulation(enfin une fois que l'utilisateur veux rien faire...) où doit aller la JOptionPane.En générale une JOptionPane return toujours 0 ou 1 ou 2(-1) en cas d'annulation c'est à dire lorsque la JOptionPane return 2 ou -1 que doit-elle faire?c'est tout simplement la la solution et l'objet retourner dans ce cas ne doit pas être null et le tour est joué...
Bon Courage!
Bon Courage!
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
6 août 2008 à 19:09
6 août 2008 à 19:09
Oui, tout à fait, j'avais lu trop vite; les NullPointerException ne sont pas à catcher, il faut gérer cela correctement depuis le code.
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
>
NoooR
6 août 2008 à 19:27
6 août 2008 à 19:27
Ben, poste ton code (uniquement cette partie-là)
NoooR
>
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
7 août 2008 à 18:06
7 août 2008 à 18:06
BufferedReader IN = null;
try {
IN = new BufferedReader(new FileReader(JOptionPane.showInputDialog(null,
"Entrer le nom du fichier", "Ouvrir",JOptionPane.PLAIN_MESSAGE)));
}
catch (Exception exp) {
Erreur(exp, 1);
}
try {
IN = new BufferedReader(new FileReader(JOptionPane.showInputDialog(null,
"Entrer le nom du fichier", "Ouvrir",JOptionPane.PLAIN_MESSAGE)));
}
catch (Exception exp) {
Erreur(exp, 1);
}
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
>
NoooR
7 août 2008 à 18:16
7 août 2008 à 18:16
try { String fileName = JOptionPane.showInputDialog(null, "Entrer le nom du fichier", "Ouvrir", JOptionPane.PLAIN_MESSAGE); if (fileName != null) { in = new BufferedReader(new FileReader(fileName)); } } catch (Exception exp) { Erreur(exp, 1); }
Mais encore une fois, pour ce genre de choses j'utiliserais JFileChooser, vraiment fait pour.
Utilisateur anonyme
8 août 2008 à 01:03
8 août 2008 à 01:03
Salut,
C'est bien sur cette ligne : if (fileName != null) {
in = new BufferedReader(new FileReader(fileName));
}
que tu as : NullPointerException ?
Quand on clique sur Annuler fileName est force a null et on ne peut plus "citer" filname sans lever NullPointerException.
Je vais chercher un peu plus tard le moyen de contourner.
a+
dan.
C'est bien sur cette ligne : if (fileName != null) {
in = new BufferedReader(new FileReader(fileName));
}
que tu as : NullPointerException ?
Quand on clique sur Annuler fileName est force a null et on ne peut plus "citer" filname sans lever NullPointerException.
Je vais chercher un peu plus tard le moyen de contourner.
a+
dan.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tiDevDu54
Messages postés
13
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
28 août 2012
16 nov. 2009 à 16:36
16 nov. 2009 à 16:36
j'aurai voulu savoir comment faire pour dire à l'application de se quitter lorsque l'utilisateur clique sur le bouton "annuler" dans un JOptionPane.showInputDialog. Parce que pour le moment il m'affiche une erreur lorsque je clique sur le bouton annulé ou si je clique sur la croix en haut a droite.
Utilisateur anonyme
16 nov. 2009 à 18:44
16 nov. 2009 à 18:44
Salut,
La réponse est déjà donnée avec fileName, mais j'ajoute celle-ci plus générale:
Cordialement,
dan
La réponse est déjà donnée avec fileName, mais j'ajoute celle-ci plus générale:
String uneEntree = ""; try { uneEntree = JOptionPane.showInputDialog(null, "Entrer quelque chose au clavier,\n" + "(ou rien et <Intro> pour dire que la saisie est terminee):", "Un Titre", JOptionPane.PLAIN_MESSAGE); //Si on annule c'est la ligne suivante qui provoque la levée de NullPointerException if (uneEntree.equals(null)) {} // on ne fait rien if (uneEntree.equals("")) System.out.println("Fin de saisie par <Intro> sans rien frapper au clavier"); } catch(NullPointerException npe) // cas <annuler> : uneEntree.equals(null) { System.out.println("La saisie a ete annulee par le clique du bouton <Annuler>"); }
Cordialement,
dan