2

パーセンテージを表示する円グラフを作成したいと考えています。JavaでJFrameを使用して円グラフを作成するにはどうすればよいですか?

これは私がこれまでに持っているものです:

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;

}
4

3 に答える 3

2

円グラフを描画するには、fillArc(x、y、width、height、starting angle、arc angle)を使用する必要があります

互いに関連する異なる円弧を描画します(最初の円弧、つまり左側の円弧は前の円弧の右側と同じである必要があります)

開始角度を設定するための独自のロジックを作成する必要があります...

お気に入り

合計12個の製品があり、それらの円グラフを描きたいとします(販売)

合計12個の製品の販売=1200

個別の製品販売a=120、b = 0、c = 500、....。

個々の製品の角度a=(120 * 360)/ 1200 b = 0 c =(500 * 360)/

次に、相対円弧角度を設定します

私はそう思うので、これはあなたにあなたの円グラフを与えるでしょう

于 2012-06-05T03:20:40.547 に答える
1

自分で開発する必要がありますか?または、オープンソースAPIを使用できますか?たぶん、JFreeChartにはあなたが使えるものがあるでしょう。

于 2010-09-22T20:22:45.353 に答える
0

In the paintComponentmethod, a Graphics object is passed in. これを使用fillArcして、さまざまなスライスを描画し、drawStringそれらにラベルを付けることができます。

また、JFrame に直接描画するのではなく、JFrame に追加する JComponent に描画することをお勧めします。

于 2010-09-22T23:58:54.923 に答える