g2d.drawString((new Float(tachesParticipants)).toString(), ITERATION_WIDTH * i + 95+ RECT_DIM1, y5Pos.intValue() - 10) ; }
g2d.setPaint(new Color(50, 50, 50)) ; g2d.drawString(nf.format(tachesParticipants), ITERATION_WIDTH * i + 95+ RECT_DIM1, y5Pos - 10) ; }    float dureeMoyenneTache = tempIndIt.getDureeMoyenneTaches() ; if (dureeMoyenneTache > 0) { float y6Height = ((float)dureeMoyenneTache/(float)dureeMoyenneTacheMax)*200 ; float y6Pos = 230 - y6Height ;  seuil = seuils.getDureeMoyenneIteration() ;  if (((Float)seuil.getSeuilMin()).intValue() > dureeMoyenneTache && ((Float)seuil.getSeuilMin()).intValue() != 0) { float minusHeight = (((Float)seuil.getSeuilMin()).intValue()/(float)dureeMoyenneTacheMax)*200 ; float minusPos = 230 - minusHeight ; ligne6.setRect((float)(ITERATION_WIDTH * i + 125 + RECT_DIM1), minusPos, RECT_DIM1, minusHeight) ; g2d.setPaint(new Color(150, 150, 150)) ; g2d.fill(ligne6) ; g2d.setPaint(Color.black) ; g2d.draw(ligne6) ; }    if (((Float)seuil.getSeuilMax()).intValue() < dureeMoyenneTache && ((Float)seuil.getSeuilMax()).intValue() != 0) { float plusHeight = (((Float)seuil.getSeuilMax()).intValue()/(float)dureeMoyenneTacheMax)*200 ; float plusPos = 230 - plusHeight ; ligne6.setRect((float)(ITERATION_WIDTH * i + 125 + RECT_DIM1), plusPos, RECT_DIM1, plusHeight) ; g2d.setPaint(Color.red) ; g2d.fill(ligne6) ; g2d.setPaint(Color.black) ; g2d.draw(ligne6) ; }   ligne6.setRect((float)(ITERATION_WIDTH * i + RECT_DIM1 + 120), y6Pos, RECT_DIM1, y6Height) ; g2d.setPaint(color6) ; g2d.fill(ligne6) ; g2d.setPaint(Color.black) ; g2d.draw(ligne6) ; g2d.drawString(nf.format(dureeMoyenneTache), ITERATION_WIDTH * i + 120+ RECT_DIM1, y6Pos - 10) ; }
    public void paintComponent(Graphics g)    {	super.paintComponent(g) ;	Graphics2D g2d = (Graphics2D)g ;	Rectangle2D.Double ligne1 = new Rectangle2D.Double(5.0, 300.0, RECT_DIM2, RECT_DIM1) ;	Rectangle2D.Double ligne2 = new Rectangle2D.Double(5.0, 315.0, RECT_DIM2, RECT_DIM1) ;	Rectangle2D.Double ligne3 = new Rectangle2D.Double(5.0, 330.0, RECT_DIM2, RECT_DIM1) ;	Rectangle2D.Double ligne4 = new Rectangle2D.Double(5.0, 345.0, RECT_DIM2, RECT_DIM1) ;	Rectangle2D.Double ligne5 = new Rectangle2D.Double(5.0, 360.0, RECT_DIM2, RECT_DIM1) ;	Line2D.Double axeX = new Line2D.Double(0.0, 230.0, new Double(ITERATION_WIDTH * nbIt).doubleValue(), 230.0) ;	Line2D.Double axeY = new Line2D.Double(0.0, 230.0, 0.0, 0.0) ;	Line2D.Double underline = new Line2D.Double() ;	Line2D.Double limit = new Line2D.Double() ;		g2d.setPaint(new Color(240, 240, 240)) ;	g2d.fill(new Rectangle2D.Double(0.0, 0.0, new Double(ITERATION_WIDTH * nbIt).doubleValue(), 230.0)) ;		g2d.setPaint(Color.black) ;	g2d.draw(axeX) ;	g2d.draw(axeY) ;		// legende			g2d.setPaint(new Color(220, 220, 220)) ;	g2d.fill(new Rectangle2D.Double(0.0, 270.0, 300.0, 110.0)) ;		g2d.setPaint(color1) ;	g2d.fill(ligne1) ;	g2d.setPaint(color2) ;	g2d.fill(ligne2) ;	g2d.setPaint(color3) ;	g2d.fill(ligne3) ;	g2d.setPaint(color4) ;	g2d.fill(ligne4) ;	g2d.setPaint(color5) ;	g2d.fill(ligne5) ;	g2d.setPaint(Color.blue) ;	g2d.drawString(Bundle.getText("GrapheIndicateursProjet_Legende"), 5, 290) ;		g2d.setPaint(Color.black) ;	g2d.drawString(Bundle.getText("GrapheIndicateursProjet_L1"), 115, 310) ;	g2d.drawString(Bundle.getText("GrapheIndicateursProjet_L2"), 115, 325) ;	g2d.drawString(Bundle.getText("GrapheIndicateursProjet_L3"), 115, 340) ;	g2d.drawString(Bundle.getText("GrapheIndicateursProjet_L4"), 115, 355) ;	g2d.drawString(Bundle.getText("GrapheIndicateursProjet_L5"), 115, 370) ;	g2d.draw(ligne1) ;	g2d.draw(ligne2) ;	g2d.draw(ligne3) ;	g2d.draw(ligne4) ;	g2d.draw(ligne5) ;	g2d.draw(new Rectangle2D.Double(0.0, 270.0, 300.0, 110.0)) ;			// graphe pour chaque iteration	Iteration tempIt = null ;        IndicateursIteration tempIndIt = null ;        for (int i =  0 ; i < nbIt ; i++)        {            if (iterations.get(i) instanceof Iteration)            {                 tempIt = (Iteration)iterations.get(i) ;		 tempIndIt = tempIt.getIndicateursIteration() ;		 		 		 		 // affichage de la premiere colonne : total des charges		 int charges = tempIndIt.getTotalCharges() ;		 if (charges > 0)		 {		    Double y1Height = new Double((new Double(charges).doubleValue()/new Double(chargesMax).doubleValue())*200.0) ; // longueur de la barre		    Double y1Pos = new Double(230.0 - y1Height.doubleValue()) ; // position de la barre		    ligne1.setRect(new Double(ITERATION_WIDTH * i + 5).doubleValue(), y1Pos.doubleValue(), RECT_DIM1, y1Height.doubleValue()) ;		    g2d.setPaint(color1) ;		    g2d.fill(ligne1) ;		    g2d.setPaint(Color.black) ;		    g2d.draw(ligne1) ;		    g2d.drawString((new Integer(charges)).toString(), ITERATION_WIDTH * i + 5, y1Pos.intValue() - 10) ;		 }		 		 		 // affichage de la deuxieme colonne : nombre participants		 int participants = tempIndIt.getNombreParticipants() ;		 if (participants > 0)		 {		    Double y2Height = new Double((new Double(participants).doubleValue()/new Double(participantsMax).doubleValue())*200.0) ; // longueur de la barre		    Double y2Pos = new Double(230.0 - y2Height.doubleValue()) ; // position de la barre		    ligne2.setRect(new Double(ITERATION_WIDTH * i + RECT_DIM1 + 20).doubleValue(), y2Pos.doubleValue(), RECT_DIM1, y2Height.doubleValue()) ;		    g2d.setPaint(color2) ;		    g2d.fill(ligne2) ;		    g2d.setPaint(Color.black) ;		    g2d.draw(ligne2) ;		    g2d.drawString((new Integer(participants)).toString(), ITERATION_WIDTH * i + 20 + RECT_DIM1, y2Pos.intValue() - 10) ;		 }		 		 		 // affichage de la troisieme colonne : moyenne charge/participant		 int moyenneCharges = tempIndIt.getDureeMoyenneTaches() ;		 if (moyenneCharges > 0)		 {		    Double y3Height = new Double((new Double(moyenneCharges).doubleValue()/new Double(moyenneChargesMax).doubleValue())*200.0) ; // longueur de la barre		    Double y3Pos = new Double(230.0 - y3Height.doubleValue()) ; // position de la barre		    ligne3.setRect(new Double(ITERATION_WIDTH * i + RECT_DIM1 + 45).doubleValue(), y3Pos.doubleValue(), RECT_DIM1, y3Height.doubleValue()) ;		    g2d.setPaint(color3) ;		    g2d.fill(ligne3) ;		    g2d.setPaint(Color.black) ;		    g2d.draw(ligne3) ;		    g2d.drawString((new Integer(moyenneCharges)).toString(), ITERATION_WIDTH * i + 45+ RECT_DIM1, y3Pos.intValue() - 10) ;		 }		 		 		 // affichage de la quatrieme colonne : nombre de taches terminees		 int tachesTerminees = tempIndIt.getNombreTachesTerminees() ;		 if (tachesTerminees > 0)		 {		    Double y4Height = new Double((new Double(tachesTerminees).doubleValue()/new Double(tachesTermineesMax).doubleValue())*200.0) ; // longueur de la barre		    Double y4Pos = new Double(230.0 - y4Height.doubleValue()) ; // position de la barre		    ligne4.setRect(new Double(ITERATION_WIDTH * i + RECT_DIM1 + 70).doubleValue(), y4Pos.doubleValue(), RECT_DIM1, y4Height.doubleValue()) ;		    g2d.setPaint(color4) ;		    g2d.fill(ligne4) ;		    g2d.setPaint(Color.black) ;		    g2d.draw(ligne4) ;		    g2d.drawString((new Integer(tachesTerminees)).toString(), ITERATION_WIDTH * i + 70+ RECT_DIM1, y4Pos.intValue() - 10) ;		 }		 		 		 // affichage de la quatrieme colonne : taches par participant		 float tachesParticipants = tempIndIt.getNombreMoyenTachesParticipants() ;		 if (tachesParticipants > 0)		 {		    Double y5Height = new Double((new Double(tachesParticipants).doubleValue()/new Double(tachesParticipantsMax).doubleValue())*200.0) ; // longueur de la barre		    Double y5Pos = new Double(230.0 - y5Height.doubleValue()) ; // position de la barre		    ligne5.setRect(new Double(ITERATION_WIDTH * i + RECT_DIM1 + 95).doubleValue(), y5Pos.doubleValue(), RECT_DIM1, y5Height.doubleValue()) ;		    g2d.setPaint(color5) ;		    g2d.fill(ligne5) ;		    g2d.setPaint(Color.black) ;		    g2d.draw(ligne5) ;		    g2d.drawString((new Float(tachesParticipants)).toString(), ITERATION_WIDTH * i + 95+ RECT_DIM1, y5Pos.intValue() - 10) ;		 }		 		 // lignes du bas pour delimiter l'iteration		 underline.setLine(new Double(ITERATION_WIDTH * i + 5).doubleValue(), 250.0, new Double(ITERATION_WIDTH - 15 +ITERATION_WIDTH * i).doubleValue(), 250.0) ;		 g2d.draw(underline) ;		 limit.setLine(new Double(ITERATION_WIDTH * i + 5).doubleValue(), 250.0, new Double(5 + ITERATION_WIDTH * i).doubleValue(), 240.0) ;		 g2d.draw(limit) ;		 limit.setLine(new Double(ITERATION_WIDTH - 15 +ITERATION_WIDTH * i).doubleValue(), 250.0, new Double(ITERATION_WIDTH - 15 +ITERATION_WIDTH * i).doubleValue(), 240.0) ;		 g2d.draw(limit) ;		 g2d.drawString("Iteration "+tempIt.getNumero(), ITERATION_WIDTH * i + 20, 245) ;            }        }     }