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

2D Java Discussion :

Stockage d'un graphique jFreechart dans une base de donnée


Sujet :

2D Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut Stockage d'un graphique jFreechart dans une base de donnée
    bonjour,
    j'ai utilisé un code qui me permet d'afficher le résultat de mon traitement graphiquement .je veux stocker cette graphique dans ma base de donnée MYSQL(sous wampserver).c'est réalisable?comment? merci d'avance.
    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
    if(jCheckBox1.isSelected()){
            try{
              con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
              Statement statement = con.createStatement(rs.TYPE_FORWARD_ONLY,rs.CONCUR_READ_ONLY);
              String sql1 = "Select last_updated_by,(count(id_incident) )*100/(Select count(id_incident) from incident where Status like 'Closed' and open_time between '"+jTextField1.getText()+"' and '"+jTextField2.getText()+"')from incident  where  Status like 'Closed'and open_time between '"+jTextField1.getText()+"' and '"+jTextField2.getText()+"' group by last_updated_by";
              rs1 = statement.executeQuery(sql1);
            DefaultPieDataset pieDataset = new DefaultPieDataset(); 
           while(rs1.next()){      
          pieDataset.setValue( rs1.getString("last_updated_by"),rs1.getDouble(2));                        
    }
    JFreeChart chart = ChartFactory.createPieChart3D("Taux résolution par personne",  pieDataset, true, true, false); 
    PiePlot3D piePlot3d = (PiePlot3D) chart.getPlot();
    piePlot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}"));
    fenetre fen1 = new fenetre(); 
    pnl = new JPanel(new BorderLayout()); 
        fen1.setContentPane(pnl); 
        fen1.setVisible(true);
        setSize(700,700); 
    ChartPanel cPanel1 = new ChartPanel(chart);    
        pnl.add(cPanel1);
             }
                   catch (Exception e) {
               JOptionPane.showMessageDialog(this,e);
                      }
            }

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Cela peut se faire a l'aide d'un champ BLOB dans la DB et d'un fichier image.

    Extraire l'image de jfreechart par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChartUtilities.writeChartAsPNG(outputstream,getDataset(), width,height);
    Insertion : Voir tutoriel

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse . j'ai éxécuté la méthode "sauveIMG" dans un classe que j'ai appele "save".puis, j'ai appelé cette dernière dans le code mais rien.
    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
     
    if(jCheckBox1.isSelected()){
            try{
              con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
              Statement statement = con.createStatement(rs.TYPE_FORWARD_ONLY,rs.CONCUR_READ_ONLY);
              String sql1 = "Select last_updated_by,(count(id_incident) )*100/(Select count(id_incident) from incident where Status like 'Closed' and open_time between '"+jTextField1.getText()+"' and '"+jTextField2.getText()+"')from incident  where  Status like 'Closed'and open_time between '"+jTextField1.getText()+"' and '"+jTextField2.getText()+"' group by last_updated_by";
              rs1 = statement.executeQuery(sql1);
            DefaultPieDataset pieDataset = new DefaultPieDataset(); 
           while(rs1.next()){      
          pieDataset.setValue( rs1.getString("last_updated_by"),rs1.getDouble(2));                        
    }
    JFreeChart chart = ChartFactory.createPieChart3D("Taux résolution par personne",  pieDataset, true, true, false); 
    PiePlot3D piePlot3d = (PiePlot3D) chart.getPlot();
    piePlot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}"));
    fenetre fen1 = new fenetre(); 
    pnl = new JPanel(new BorderLayout()); 
        fen1.setContentPane(pnl); 
        fen1.setVisible(true);
        setSize(700,700); 
    ChartPanel cPanel1 = new ChartPanel(chart);    
        pnl.add(cPanel1);
     
        File fichier = new File("image1.png"); 
        try { 
            ChartUtilities.writeChartAsPNG(fichier ,chart, 400,250);
          Save.sauveIMG(String location, String name);
        } catch (IOException e) { 
          e.printStackTrace(); 
        } 
             }
                   catch (Exception e) {
               JOptionPane.showMessageDialog(this,e);
                      }
     
            }

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Rien ?

    C'est sure qu'au vu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Save.sauveIMG(String location, String name);
    ça ne compilera même pas... d'ailleurs je ne vois pas l'utilité de ça puisque la ligne de code précédente écrit le fichier de sortie déjà.

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

Discussions similaires

  1. Stockage de données dans des fichiers texte ou dans une base de données?
    Par Marc22 dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 17/12/2010, 01h39
  2. Réponses: 7
    Dernier message: 14/04/2010, 14h45
  3. Réponses: 0
    Dernier message: 14/04/2010, 11h35
  4. Réponses: 1
    Dernier message: 10/10/2007, 10h42
  5. Réponses: 2
    Dernier message: 14/03/2007, 14h01

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