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
|
public class Indicateur {
/**Indicateur des saisies
* Lance les méthodes associées à chaque graphique
* Concatène les graphiques en image .png
* @param session
* @param stmt Statement
* @param req requête
* @return baos un stream d'image .png de type ByteArrayOutputStream()
*/
public static ByteArrayOutputStream main(final HttpSession session,final Statement stmt, final HttpServletRequest req) {
BufferedImage image1;
BufferedImage image2;
JFreeChart chart = null;
//création histo des compteurs relevé du mois par cie
chart = cptMois(stmt,req);
//enregistrement du graphique en fichier image temporaire .png
image1 = chart.createBufferedImage(700,400);
//sauvegarde 'nbreDeMateriels' du mois dans t_parametre -> Chp
//création combiné des cpt relevés par mois
chart = cptAnnu(stmt,req);
//enregistrement du graphique en fichier image temporaire .png
image2 = chart.createBufferedImage(700,400);
//compilation des 2 graphiques
image1 = addImage(image1, image2);
session.setAttribute("sqlexport", "val");
session.setAttribute("val", val);
//création d'un stream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try{ImageIO.write( image1,"png",baos );}catch(final IOException e){e.printStackTrace();}
return(baos);
}
public static JFreeChart cptMois(final Statement stmt, final HttpServletRequest req) {
.....
.....
return(chart);
}
public static JFreeChart cptAnnu(final Statement stmt, final HttpServletRequest req) {
.....
.....
return(chart);
}
/**
* Méthode d'addition des 2 images(graphique)
* @param image1 image du graphique mensuel
* @param image2 image du graphique annuel
* @return img une image du type BufferedImage()
*/
public static BufferedImage addImage(final BufferedImage image1, final BufferedImage image2){
BufferedImage img = new BufferedImage(700,800,BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = img.createGraphics();
//addition des 2 graphiques
g2d.drawImage(image1, 0, 0, null);
g2d.drawImage(image2, 0, 401, null);
g2d.dispose();
return img ;
}
} |
Partager