import java.awt.*;
import java.applet.Applet;public class cake extends Applet{
private int data[]={440,520,400,680,320,600};
private String percent[]=new String[data.length];
private int radian[]=new int[data.length];
private Color colors[]={Color.blue,Color.red,Color.cyan,Color.orange,Color.black,Color.pink};
public void init()
{
int sum=0;
for(int s=0;s<data.length;s++)
{
sum+=data[s];
}
for(int p=0;p<data.length;p++)
{
percent[p]=String.valueOf(Math.round(data[p]/sum*100))+"%";
} for(int r=0;r<data.length;r++)
{
radian[r]=Math.round((float)data[r]/sum*360);
}
}
public void paint(Graphics g)
{
int start=0;
g.drawOval(120,100,200,150);
for(int a=0;a<data.length;a++){g.setColor(colors[a]);
g.fillArc(120,100,200,150,start,radian[a]);
start+=radian[a];
}
}
}程序已经出来了饼型图,可现在我想在每个扇形上写上它具体是占多少百分之几,比如第一个数据占10%
那就在代表它的蓝色区域上写上10%,不知道有什么方法来作到,不用每个都要去计算它的位置,然后在写上去,那样太麻烦了,请大家为我指路一下,谢谢了!
import java.applet.Applet;public class cake extends Applet{
private int data[]={440,520,400,680,320,600};
private String percent[]=new String[data.length];
private int radian[]=new int[data.length];
private Color colors[]={Color.blue,Color.red,Color.cyan,Color.orange,Color.black,Color.pink};
public void init()
{
int sum=0;
for(int s=0;s<data.length;s++)
{
sum+=data[s];
}
for(int p=0;p<data.length;p++)
{
percent[p]=String.valueOf(Math.round(data[p]/sum*100))+"%";
} for(int r=0;r<data.length;r++)
{
radian[r]=Math.round((float)data[r]/sum*360);
}
}
public void paint(Graphics g)
{
int start=0;
g.drawOval(120,100,200,150);
for(int a=0;a<data.length;a++){g.setColor(colors[a]);
g.fillArc(120,100,200,150,start,radian[a]);
start+=radian[a];
}
}
}程序已经出来了饼型图,可现在我想在每个扇形上写上它具体是占多少百分之几,比如第一个数据占10%
那就在代表它的蓝色区域上写上10%,不知道有什么方法来作到,不用每个都要去计算它的位置,然后在写上去,那样太麻烦了,请大家为我指路一下,谢谢了!
解决方案 »
- 【求助】Eclipse Galileo和eclipse的区别
- 求助java中日期转换成String类型
- double类型和int相乘后值不对
- 哪位大侠能介绍下java下的Date和Timestamp的区别,and他们在应用中不同的特点和适用范围
- 在java中怎么向串口发送回车符号?
- 数组问题,高手请进
- 各位大牛,学完javase后应该再具体学哪方面的知识啊,求指导。
- (高分啊………)keyword: tomcat 、refresh、session-->为什么页面不能自动刷新?
- 这是怎么啦???(字符问题)求教大虾
- 如用ImageIcon在JLabel里添加一副图,出现访问被拒绝怎么办?
- “\xe7\xa1\xae”表示我,\xe7\xa1\xae是用什么编码?
- 实用的提问:在optionPane(某种对话框)中如何调用JTextArea中的select方法?
去 Java.net 下去。