IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Question sur le showMessageDialog


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut Question sur le showMessageDialog
    Bonjour tout le monde

    je voudrais que lorsque l'on click sur un jbutton et les jtextfield ou l'un des jtextfield sois vide que le message s'affiche.

    Voici ce que j'ai fais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    public void actionPerformed(ActionEvent evt) {
     
     
     
    Object source = evt.getSource();
     
    Fonction intergal = new Fonction();
     
     
    if(source==calculer)
    {
     
    if(epsi.equals("") && x.equals("")){
     
    JOptionPane.showMessageDialog(null,"L'une des zonne texte est vide.","Erreur de saisie",JOptionPane.ERROR_MESSAGE);
    Toolkit.getDefaultToolkit().beep();
     
    }
    else
    {
    float e = Float.valueOf(epsi.getText());
     
    float donne = Float.valueOf(x.getText());
     
     
     
    String res = Double.toString(intergal.calculinteg(donne,e));
     
     
    total.setText(res);
     
    }
     
    }
    if(source==quitter)
    {
     
    System.exit(0);
     
    }
     
    }
    Il n' y a aucune erreur l'ors de la compil.

    Mai l'ors de laissé rien ne se passe.

    Que dois je modifié.

    A+

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Je te conseille d'ajouter un peu de traces dans ton code pour comprendre ce qui ne va pas.
    Ce que tu as écrit est correct, donc le problème à priori n'est pas là ...

    Comme idée : ajouter une trace pour voir si l'actionPerformed est appelée. Si non, c'est que tu n'as pas positionné correctement le Listener ...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re bonjour

    J'ai mis des System.out.println pour le text.

    actionPerformed est bien appelé, c'est le if(epsi.equals("") && x.equals("")) qui pose probleme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
     
    public void actionPerformed(ActionEvent evt) {
     
     
     
    Object source = evt.getSource();
     
    Fonction intergal = new Fonction();
     
     
    if(source==calculer)
    {
     
    System.out.println("ok"); //il s'affiche
     
    if(epsi.equals("") && x.equals("")){
     
    System.out.println("ok");//il ne s'affiche pas.
     
    JOptionPane.showMessageDialog(null,"L'une des zonne texte est vide.","Erreur de 
     
    l'application",JOptionPane.ERROR_MESSAGE);
    Toolkit.getDefaultToolkit().beep();
     
    }
    else
    {
    float e = Float.valueOf(epsi.getText());
     
    float donne = Float.valueOf(x.getText());
     
     
     
    String res = Double.toString(intergal.calculinteg(donne,e));
     
     
    total.setText(res);
     
    }
     
    }
    if(source==quitter)
    {
     
    System.exit(0);
     
    }
     
    }
    Voici les erreur d'execution.

    ok
    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty St
    ring
    at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
    at java.lang.Float.valueOf(Unknown Source)
    at CompoFonction.actionPerformed(CompoFonction.java:291)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
    ce)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Je vous signal que pour le test les Jtextfield sont vident.

    Que dois je faire.

    A +

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    J'imagine que espi et x ne sont pas des String.

    Quand tu ecris
    Tu compares un objet de type JTextField (j'imagine) avec un objet de type String. Il y a aucune chance pour que ce soit egal.

    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    espi.getText().equals("");
    Tu peux aussi utiliser une variable local
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String espiText = espi.getText();
    if (espiTest.equals("") || ...)

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tout à fait, c'est pour ça que ça plante lorsque tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Float.valueOf(epsi.getText());

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonsoir tout le monde


    Voilà ce que j'ai fais et ca fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    if(source==calculer)
    {
     
     
    if( epsi.getText().equals("") && x.getText().equals("") || epsi.getText().equals("") || x.getText().equals(""))
    {
    System.out.println("ok");
     
    JOptionPane.showMessageDialog(null,"L'une des zonne texte est vide.","Erreur de l'application",JOptionPane.ERROR_MESSAGE);
    Toolkit.getDefaultToolkit().beep();
     
    }
    else
    {
    float e = Float.parseFloat(epsi.getText());
     
    float donne = Float.parseFloat(x.getText());
     
     
     
    String res = Double.toString(intergal.calculinteg(donne,e));
     
     
    total.setText(res);
     
    }
    }
    Merci

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SWING] Question sur : JOptionPane.showMessageDialog
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 14/12/2005, 12h15
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo