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

AWT/Swing Java Discussion :

Comment savoir si la saisie dans un JDateChooser est vide


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Comment savoir si la saisie dans un JDateChooser est vide
    Salut;
    je suis sur netbeans 8.1 et j'ai le problème de tester si mon jdatechooser est vide ou non. J'ai utilisé plusieurs méthodes et ça n'abouti pas au teste, résultat(null).
    voila mon code:
    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
    String datedebut=((JTextFieldDateEditor) jDateChooser1.getDateEditor().getUiComponent()).getText();
            String datedebut=((JTextFieldDateEditor) jDateChooser1.getDateEditor()).getText();
            Calendar datedebut=jDateChooser1.getCalendar();
            Date datedebut=jDateChooser1.getDate();
            String datedebut=jDateChooser1.getDate().toString().trim();
     
            if(jTextField12.getText().trim().length()>0 && datedebut.length()==0){
            if(jTextField12.getText().trim().length()>0 && datedebut.equals("")){
            if(jTextField12.getText().trim().length()>0 && datedebut.isEmpty()){
     
            if(jTextField12.getText().trim().length()>0 && datedebut==null){
                requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+jTextField12.getText().toString()+"' ORDER BY Date_Entree";
            }else{
                autre requete;
            }
    Merci de votre aide, je serai reconnaissant.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il est important de préciser quelle bibliothèque tu utilises lorsqu'il ne s'agit pas d'un composant standard. On va supposer que c'est JCalendar de Toedter. Normalement, ce composant ne gère pas de notion de saisie vide, la saisie étant gérée par un IDateEditor. Il est possible d'accèder au composant d'UI utilisé par le IDateEditor pour tester si sa saisie est vide, mais il faut faire attention à ce qu'est ce composant (son implémentation concrète). Si tu es sûr qu'il s'agit bien d'une implémentation fondée sur un JTextField (ce n'est pas forcément le cas), alors tu peux effectivement récupérer ce JTextField et son contenu comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String datedebut=((JTextField) jDateChooser1.getDateEditor().getUiComponent()).getText()
    Ensuite, il est impossible que ce contenu soit null : c'est forcément une instance de String. Pour tester s'il y a une saisie on fera donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ( datedebut.trim().isEmpty() ) {
       // la saisie est soit vide, soit que des espaces (plus précisemment des whitespaces)
    }
    else {
      // sinon quelque chose (autre que des espaces) est saisi
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Slt,
    Merci.
    Je tiens a préciser que je suis débutant et j’utilise jcalendar 1.4, j’ai essayé le code dont vous m’aviez posté mais le problème persiste encore.
    Merci de me répondre et bonne journée.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Quel problème ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Salut,

    Citation Envoyé par airdeug Voir le message
    Salut;
    je suis sur netbeans 8.1 et j'ai le problème de tester si mon jdatechooser est vide ou non. J'ai utilisé plusieurs méthodes et ça n'abouti pas au teste, résultat(null).
    Teste avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (jDateChooser.getDate() == null) {
        System.out.println("Date invalide!");
    }

    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Merci a vous.
    Le problème est que le résultat(null).
    Ce qui concerne: jDateChooser1.getDate()==null, je l'ai déjà essayé et le résultat(null).

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par airdeug Voir le message
    Le problème est que le résultat(null).
    C'est censé vouloir dire quoi ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    slt,
    Le resultat de "System.out.println( e.getMessage());" est: null ce qui prouve que le teste n'a pas été effectué.
    voila tout le code:
    #
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    public void graph(){
        String requete = null;
        JFreeChart barchart = null;
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:STEG");
     
            SimpleDateFormat sdf =  new  SimpleDateFormat ("dd/MM/yyyy");
            SimpleDateFormat sdf1 =  new  SimpleDateFormat ("MM/dd/yyyy");
            String dateDebut=sdf1.format(jDateChooser1.getDate());
            String dateFin=sdf1.format(jDateChooser2.getDate());
     
            if(jTextField12.getText().trim().length()>0 && jDateChooser1.getDate().toString().trim().length()>0){
                requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+jTextField12.getText()+"' AND Date_Entree between #"+dateDebut+"# and #"+dateFin+"# ORDER BY Date_Entree";
            }
            if(jTextField12.getText().trim().length()==0 && jDateChooser1.getDate().toString().trim().length()>0){
                requete="Select DISTINCT UT, SUM(Total) as tt FROM `reparation` WHERE Date_Entree between #"+dateDebut+"# and #"+dateFin+"# GROUP BY UT ORDER BY UT";
            }
            String datedebut=((JTextField) jDateChooser1.getDateEditor().getUiComponent()).getText();
     
     
     
           if(jTextField12.getText().trim().length()>0 && datedebut.trim().isEmpty()){ 
     
                requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+jTextField12.getText().toString()+"' ORDER BY Date_Entree";
            }
            if(jTextField12.getText().trim().length()==0 && jDateChooser1.getDate().toString().trim().length()==0){
                requete="Select DISTINCT UT, SUM(Total) as tt FROM `reparation` WHERE Total IS NOT NULL GROUP BY UT ORDER BY UT";
            }
     
            JDBCCategoryDataset dataset=new JDBCCategoryDataset(con,requete);
     
            if(jRadioButton1.isSelected()){
                barchart=ChartFactory.createLineChart("Dépense Véhicule(s)  "+jTextField12.getText()+" pour la période du "+sdf.format(jDateChooser1.getDate())+" au "+sdf.format(jDateChooser2.getDate()), "Date", "Dépense", dataset, PlotOrientation.VERTICAL, false, true, true);
                CategoryPlot plot=barchart.getCategoryPlot();
                plot.setBackgroundPaint(Color.ORANGE);
                //plot.setRangeGridlinePaint(Color.ORANGE);
            }else{
                if(jRadioButton2.isSelected()){
                    barchart=ChartFactory.createBarChart("Dépense Véhicule(s)  "+jTextField12.getText()+" pour la période du "+sdf.format(jDateChooser1.getDate())+" au "+sdf.format(jDateChooser2.getDate()), "Date", "Dépense", dataset, PlotOrientation.VERTICAL, false, true, true);
                    CategoryPlot plot=barchart.getCategoryPlot();
                    plot.setBackgroundPaint(Color.ORANGE);
                }else{
                    JDBCPieDataset data=new JDBCPieDataset(con,requete);
                    barchart=ChartFactory.createPieChart("Dépense Véhicule(s)  "+jTextField12.getText()+" pour la période du "+sdf.format(jDateChooser1.getDate())+" au "+sdf.format(jDateChooser2.getDate()), data, true, true, true);
                    Plot plot1=barchart.getPlot();
                    plot1.setBackgroundPaint(Color.ORANGE);
                }
            }
     
            ChartPanel barpanel=new ChartPanel(barchart);
            panelChart.removeAll();
            panelChart.add(barpanel);
            panelChart.validate();
     
        }catch(Exception e){
           //JOptionPane.showMessageDialog(null,e.getMessage() );
            System.out.println( e.getMessage());
        }
    }

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je suppose que tu parles d'un affichage dans un catch : on ne fait pas System.out.println(e.getMessage()); mais :
    Ce qui permet d'avoir plus d'informations sur l'exception.

    Et montre-nous aussi le code où il y a ce catch.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    slt,
    voila tout le code:

    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
    String requete = null;
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:STEG");
           String datedebut=((JTextField) jDateChooser1.getDateEditor().getUiComponent()).getText();
          if(jTextField12.getText().trim().length()>0 && datedebut.trim().isEmpty()){ 
     
              requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+jTextField12.getText().toString()+"' ORDER BY Date_Entree";
        }
        if(jTextField12.getText().trim().length()==0 && datedebut.trim().isEmpty()){
            requete="Select DISTINCT UT, SUM(Total) as tt FROM `reparation` WHERE Total IS NOT NULL GROUP BY UT ORDER BY UT";
        }
     
     
      }catch(Exception e){
        //JOptionPane.showMessageDialog(null,e.getMessage() );
        //System.out.println( e.getMessage());
        e.printStackTrace();
      }
    Voila l'erreur:
    java.lang.NullPointerException
    at java.util.Calendar.setTime(Calendar.java:1106)
    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:955)
    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:948)
    at java.text.DateFormat.format(DateFormat.java:336)
    at FicheDepenses.graph(FicheDepenses.java:875)
    at FicheDepenses.jComboBox1ActionPerformed(FicheDepenses.java:736)
    at FicheDepenses.access$300(FicheDepenses.java:65)
    at FicheDepenses$4.actionPerformed(FicheDepenses.java:278)
    at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1260)
    at javax.swing.JComboBox.setSelectedItem(JComboBox.java:588)
    at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624)
    at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:835)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
    at java.awt.Component.processMouseEvent(Component.java:6516)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:499)
    at java.awt.Component.processEvent(Component.java:6281)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:706)
    at java.awt.EventQueue$3.run(EventQueue.java:704)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.awt.EventQueue$4.run(EventQueue.java:718)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    L'exception a lieu à ligne 875 de la classe FicheDepenses, dans la méthode graph : c'est le code de cette méthode qu'il faudrait nous montrer.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String dateDebut=sdf1.format(jDateChooser1.getDate());

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Oui, enfin, ça, ce n'est pas la méthode, c'est une ligne de code. Mais passons : si le jDateChooser1.getDate() retourne null, alors tu obtiens une NullPointerException dans la méthode DateFormat.format(). Il te faut donc exclure le cas null :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String dateDebut;
    if ( jDateChooser1.getDate()!=null ) {
          dateDebut = sdf1.format(jDateChooser1.getDate());
    }
    else {
          dateDebut = null; 
    }
    par exemple, parce que ça dépend de ce que tu vas en faire de dateDebut.

    Si tu veux l'utiliser dans ta requête : requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+dateDebut+"' ORDER BY Date_Entree", évidemment ça ne va fonctionner. Donc, c'est à toi de voir : soit tu ne fais pas la requête, soit tu fais une requête qu correspond à "pas de date".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ( jDateChooser1.getDate()!=null ) {
       String dateDebut = sdf1.format(jDateChooser1.getDate());
     
       // faire la requête
     
    }
    else {
           // ne rien faire (ou afficher un message : Date non saisie...Requête impossible ! 
    }



    Par ailleurs, au lieu de chercher à convertir les dates en String et faire de la concaténation, ce serait mieux que tu passes par un PreparedStatement.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    slt,
    Merci infiniment pour ton aide, ça marche à la merveille.
    Voila le code:
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    String requete = null;
        JFreeChart barchart = null;
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:STEG");
     
            SimpleDateFormat sdf =  new  SimpleDateFormat ("dd/MM/yyyy");
            SimpleDateFormat sdf1 =  new  SimpleDateFormat ("MM/dd/yyyy");
     
     
            if ( jDateChooser1.getDate()!=null ) {
                if(jDateChooser2.getDate()!=null){
                    String dateDebut = sdf1.format(jDateChooser1.getDate());  
                    String dateFin=sdf1.format(jDateChooser2.getDate());
                    if(jTextField12.getText().trim().length()>0 ){
                        requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+jTextField12.getText()+"' AND Date_Entree between #"+dateDebut+"# and #"+dateFin+"# ORDER BY Date_Entree";
                    }else{
                        requete="Select DISTINCT UT, SUM(Total) as tt FROM `reparation` WHERE Date_Entree between #"+dateDebut+"# and #"+dateFin+"# GROUP BY UT ORDER BY UT";
                    }
                    JDBCCategoryDataset dataset=new JDBCCategoryDataset(con,requete);
     
                    if(jRadioButton1.isSelected()){
                        barchart=ChartFactory.createLineChart("Dépense Véhicule(s)  "+jTextField12.getText()+" pour la période du "+sdf.format(jDateChooser1.getDate())+" au "+sdf.format(jDateChooser2.getDate()), "Date", "Dépense", dataset, PlotOrientation.VERTICAL, false, true, true);
                        CategoryPlot plot=barchart.getCategoryPlot();
                        plot.setBackgroundPaint(Color.ORANGE);
                        //plot.setRangeGridlinePaint(Color.ORANGE);
                    }else{
                        if(jRadioButton2.isSelected()){
                            barchart=ChartFactory.createBarChart("Dépense Véhicule(s)  "+jTextField12.getText()+" pour la période du "+sdf.format(jDateChooser1.getDate())+" au "+sdf.format(jDateChooser2.getDate()), "Date", "Dépense", dataset, PlotOrientation.VERTICAL, false, true, true);
                            CategoryPlot plot=barchart.getCategoryPlot();
                            plot.setBackgroundPaint(Color.ORANGE);
                        }else{
                            JDBCPieDataset data=new JDBCPieDataset(con,requete);
                            barchart=ChartFactory.createPieChart("Dépense Véhicule(s)  "+jTextField12.getText()+" pour la période du "+sdf.format(jDateChooser1.getDate())+" au "+sdf.format(jDateChooser2.getDate()), data, true, true, true);
                            Plot plot1=barchart.getPlot();
                            plot1.setBackgroundPaint(Color.ORANGE);
                        }
                    }
                }else{
                    JOptionPane.showMessageDialog(null, "Veuillez donner la date fin de la période!");
                }
            }else {
                if(jDateChooser2.getDate()!=null){
                    JOptionPane.showMessageDialog(null, "Veuillez donner la date du debut de la période!");
                }else{
                    if(jTextField12.getText().trim().length()==0){
                       requete="Select DISTINCT UT, SUM(Total) as tt FROM `reparation` WHERE Total IS NOT NULL GROUP BY UT ORDER BY UT"; 
                    }else{
                       requete="Select Date_Entree, Total FROM `reparation` WHERE UT='"+jTextField12.getText().toString()+"' ORDER BY Date_Entree"; 
                    }
                    JDBCCategoryDataset dataset=new JDBCCategoryDataset(con,requete);
     
                    if(jRadioButton1.isSelected()){
                        barchart=ChartFactory.createLineChart("Dépense Véhicule(s)  "+jTextField12.getText(), "Date", "Dépense", dataset, PlotOrientation.VERTICAL, false, true, true);
                        CategoryPlot plot=barchart.getCategoryPlot();
                        plot.setBackgroundPaint(Color.ORANGE);
                        //plot.setRangeGridlinePaint(Color.ORANGE);
                    }else{
                        if(jRadioButton2.isSelected()){
                            barchart=ChartFactory.createBarChart("Dépense Véhicule(s)  "+jTextField12.getText(), "Date", "Dépense", dataset, PlotOrientation.VERTICAL, false, true, true);
                            CategoryPlot plot=barchart.getCategoryPlot();
                            plot.setBackgroundPaint(Color.ORANGE);
                        }else{
                            JDBCPieDataset data=new JDBCPieDataset(con,requete);
                            barchart=ChartFactory.createPieChart("Dépense Véhicule(s)  "+jTextField12.getText(), data, true, true, true);
                            Plot plot1=barchart.getPlot();
                            plot1.setBackgroundPaint(Color.ORANGE);
                        }
                    }
                }
            }        
            ChartPanel barpanel=new ChartPanel(barchart);
            panelChart.removeAll();
            panelChart.add(barpanel);
            panelChart.validate();
     
        }catch(Exception e){
            e.printStackTrace();
            //JOptionPane.showMessageDialog(null, "Veuillez donner la periode!");
            //JOptionPane.showMessageDialog(null,e.getMessage() );
            //System.out.println( e.getMessage());
        }
    BN.

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

Discussions similaires

  1. Réponses: 45
    Dernier message: 21/07/2008, 11h35
  2. Comment vérifier une URL saisie dans mon formulaire ?
    Par cdevl32 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/10/2007, 18h32
  3. Comment savoir si le champ d'une table est vide?
    Par CleeM dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/07/2007, 11h35
  4. Réponses: 7
    Dernier message: 09/02/2006, 11h43
  5. comment savoir définir les figure dans opengl
    Par romainhoarau2764 dans le forum OpenGL
    Réponses: 1
    Dernier message: 05/03/2005, 19h30

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