2010-09-22 30 views
2

Je souhaite créer un graphique à secteurs affichant des pourcentages. Comment créer un graphique à secteurs en utilisant JFrame en Java?Comment créer un graphique à secteurs en Java

C'est ce que j'ai jusqu'à présent:

import javax.swing.*; 
import java.awt.*; 
import java.util.*; 

public class PieChart extends JFrame{ 


private int Midterm; 
private int Quizzes; 
private int Projects; 
private int Final; 

public PieChart(){ 
    setPercentage(); 

} 
private void setPercentage() { 
    // TODO Auto-generated method stub 

} 
//construct a pie chart with percentages 
public PieChart(int Midterm, int Quizzes, int Final, int Projects){ 
this.Midterm = Midterm; 
this.Quizzes = Quizzes; 
this.Final = Final; 
this.Projects = Projects; 
} 
//return midterm 
public int getMidterm(){ 
    return Midterm; 

} 
//public void setMidterm(int Midterm){ 
    //this.Midterm = Midterm; 
    //repaint(); 

//} 
//return Quizzes 
public int getQuizzes(){ 
    return Quizzes; 

} 
public int Final(){ 
    return Final; 
} 
public int Projects(){ 
    return Projects; 

} 
//draw the circle 
protected void paintComponent(Graphics g){ 
    super.paintComponents(g); 

} 
//initialize circle parameters 
int circleRadius = 
    (int)(Math.min(getWidth(),getHeight())* 0.4); 
int xCenter= getWidth()/2; 
int yCenter = getHeight()/2; 

} 
+2

Peut-être que vous pourriez reformuler cela comme une question. – SorcyCat

+0

Quel est votre plan pour le faire? Qu'avez-vous essayé jusqu'à présent? Où avez-vous rencontré des problèmes? –

+0

Je dois faire un tableau testPie pour l'exécuter je pense. – JavaDummy

Répondre

1

Avez-vous développer sur votre propre? Ou pouvez-vous utiliser une API open source? Peut-être que JFreeChart a quelque chose que vous pouvez utiliser.

+0

oui je dois le développer par moi-même. J'ai trouvé un autre code et ça marche pour moi. Je ne sais pas comment afficher les pourcentages. – JavaDummy

0

Dans la méthode paintComponent, un objet Graphics est passé. Avec cela, vous pouvez utiliser fillArc pour dessiner les différentes tranches et drawString de les étiqueter.

Aussi, je suggère que vous ne dessinez pas directement sur le JFrame, mais faites plutôt sur un composant JCompon que vous ajoutez ensuite à un JFrame.

1

pour dessiner diagramme circulaire, vous devez utiliser fillArc (x, y, largeur, hauteur, angle de départ, angle d'arc)

dessiner différents arcs liés les uns aux autres (1er-à-dire l'arc latéral gauche doit être identique côté droit de l'arc précédent)

vous devez faire votre propre logique pour la mise en angle de départ ...

comme

supposer u ont un total de 12 produits et u voulez dessiner diagramme circulaire pour eux (vente)

total de 12 la vente du produit = 1200

vente produit individuel a = 120, b = 0, c = 500, .....

angle

pour produit individuel a = (120 * 360)/1200 b = 0 c = (500 * 360)/

puis définir l'angle d'arc par rapport

donc je pense que cela donnera u votre diagramme circulaire