inserer des pourcentages à chaque portion d'un camembert

ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 22 déc. 2007 à 20:39
 Utilisateur anonyme - 23 déc. 2007 à 09:34
salut je ne sais pas comment faire  un Camembert.   je n'ai pas les pourcentages correspondant et je souhaiterais les ajouter à chaque portion.

private double[] valeurs ={2000, 3000, 4500, 6500};


 final String[] categories = {"Bananes", "pommes", "nectarines", "cerises" };

public int somme1=0;

    public void paintComponent(Graphics g) {
      if ( (valeurs != null) && (valeurs.length > 0)) {
     int a = 0;
     for (int i = 0; i < valeurs.length; i++) {


       int b = (int) (valeurs[i] / somme1 * 360);


       g.setColor(color[i % color.length]);
       g.fillArc(0, 0, 200, 200, a, b);
       a += b;


     }


   }


 


    }

merci d'avance

2 réponses

Utilisateur anonyme
23 déc. 2007 à 09:28
Pour chaque portion, ton angle est dans l'intervalle [0;360] et pour avoir un pourcentage, ça revient à te ramener à l'intervalle  [0;100] donc il faut que tu divises l'angle de la portion que tu stockes dans b par 3.6 ou de faire comme ça :

somme1 = 0;
for (int i = 0; i < valeurs.length; i++) {
       somme1+=valeurs[i];
}
int a=0,b,pourcentage;
double quotient;for (int i 0; i < valeurs.length; i++) {        quotient valeurs[i] / somme1;

       b = (int) (quotient * 360);

       pourcentage = (int) (quotient * 100);

       g.setColor(color[i % color.length]);
       g.fillArc(0, 0, 200, 200, a, b);

       //à toi de voir où tu veux afficher les pourcentages

       g.drawString(pourcentage+"%",?,?);

       a += b;

     }

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Utilisateur anonyme
23 déc. 2007 à 09:34
Aide toi des formules de trigonométrie si tu souhaites afficher les pourcentages à l'intérieur des portions sachant que :
cos(b) = côté adjacent / hypothénuse
Tu peux prendre comme côté adjacent le début de ta première portion et comme hypothénuse le deuxième segment de chaque portion. Ensuite, calcule les milieux des deux segments qui composent chaque portion et enfin calcule le milieu du segment formé par ces deux milieux que tu viens de calculer et tu tombes en plein milieu de ta portion.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Rejoignez-nous