Problème avec une fonction java

cs_Bouki Messages postés 43 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 11 décembre 2004 - 28 mars 2004 à 20:42
wagdifr Messages postés 25 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 3 mars 2011 - 17 avril 2006 à 14:55
Salut,
g un pb avec java, je veux demander une question avec oui ou non comme unique choix g donc fe ca :

int Ok = JOptionPane.showConfirmDialog(null, "Souhaitez-vous vraiment quitter ?", "Vous devez faire un choix", JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
if (Ok == 0)
{System.exit(0);}

le problème c que ca ne marche pas, ca se compile bien mais quand le bout de code est execute ca me fait :

java.lang.RuntimeException: JOptionPane: option type must be one of JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION or JOptionPane.OK_CANCEL_OPTION
at javax.swing.JOptionPane.setOptionType(JOptionPane.java:1938)
at javax.swing.JOptionPane.(JOptionPane.java:1657)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:810)
at javax.swing.JOptionPane.showConfirmDialog(JOptionPane.java:750)
at javax.swing.JOptionPane.showConfirmDialog(JOptionPane.java:713)
at Fenetre.Quitter(Bloc_note.java:215)
at Fenetre$4.actionPerformed(Bloc_note.java:79)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.java:5134)
at java.awt.Component.processEvent(Component.java:4931)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3639)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
at java.awt.Container.dispatchEventImpl(Container.java:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1590)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

et le programme continue à marcher normalement.
g donc fait ca :
int Ok = JOptionPane.showConfirmDialog(null, "Souhaitez-vous vraiment quitter ?", "Vous devez faire un choix", JOptionPane.ERROR_MESSAGE, JOptionPane.YES_NO_OPTION);
la ca marche bien mais l'icone ne me convient pas...
Que faire ?
Je précise que le bout de code est execute suite au clic sur un element de menu et que la boite de dialogue s'ouvre en plus de la première interface graphique.
Merci bcp.

4 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
28 mars 2004 à 21:27
Salut,

tu as inversé tes 2 derniers paramètres.
De plus si tu utilises showConfirmDialog tu n'as pas besoin de spécifier JOptionPane.QUESTION_MESSAGE.
En lisant la javadoc tu aurais eu la réponse de suite :)
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
28 mars 2004 à 21:43
et dans le if il vaut mieux faire
if( ok== JOptionPane.YES_OPTION){
//
}
0
cs_Bouki Messages postés 43 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 11 décembre 2004
28 mars 2004 à 21:51
merci bcp ca marche impec, g du mal comprendre comment on mettait les deux derniers paramètres (j'utilise un ide qui m'a montre la doc de cette fonction)
0
wagdifr Messages postés 25 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 3 mars 2011 2
17 avril 2006 à 14:55
bonjour tous le monde
voila une petit code
int reponse = JOptionPane.showConfirmDialog(this,
"Etes-vous sure de bien vouloir supprimer ?",
"Etiquettes Java",
JOptionPane.YES_NO_CANCEL_OPTION);
mais j'ai un petit problème, quand je fais
if (reponse == JOptionPane.YES_OPTION)
je peux supprimer du fichier , mais si je fais f (reponse == JOptionPane.NO_OPTION) ça supprime aussi.
est ce que il ya quelqu'un qui peu m'aider à resoudre ce problème??
merci d'avance
0
Rejoignez-nous