站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题applet 之饼图

applet 之饼图

摘要: applet 之饼图

在网上很难找到做报表用的各种用图。下面是我最近的新作。一点点小东西,
与大家分享,如果有什么问题请发信到dengzi725@sohu.com
applet 原码,用jcreator打开即可。
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
import java.lang.*;
import java.text.*;
public class Caky extends Applet {
private int i,dataApp[],n[];
private int angle=0;
private double dataAll,data[],dataArc[],x[];
static Color color[]=
{Color.orange,Color.blue,Color.cyan,Color.DARK_GRAY,Color.GRAY,Color.
green,Color.magenta};
private Arc2D.Float arc2d;
public Caky(){}
public void init() {
data=new double[7];
dataArc=new double[7];
dataApp=new int[7];
n=new int[7];
x=new double[7];
data[0]=100;
data[1]=60;
data[2]=80;
data[3]=120;
data[4]=180;
data[5]=110;
data[6]=210;
while(i<7) {
dataAll+=data[i++]; }
for(i=0;i<7;i++) {
dataArc[i]=data[i]*360/dataAll; }
for(i=0;i<7;i++) {
x[i]=data[i]*100/dataAll;
n[i]=(int)(data[i]*100/dataAll);
if((x[i]-n[i])>0.5) {
n[i]=n[i]+1; } }
dataApp[0]=0;
dataApp[1]=(int)dataArc[0];
dataApp[2]=(int)dataArc[0]+(int)dataArc[1];
dataApp[3]=(int)dataArc[0]+(int)dataArc[1]+(int)dataArc[2];
dataApp[4]=(int)dataArc[0]+(int)dataArc[1]+(int)dataArc[2]+(int)
dataArc[3];
dataApp[5]=(int)dataArc[0]+(int)dataArc[1]+(int)dataArc[2]+(int)
dataArc[3]+(int)dataArc[4];
dataApp[6]=(int)dataArc[0]+(int)dataArc[1]+(int)dataArc[2]+(int)
dataArc[3]+(int)dataArc[4]+(int)dataArc[5]; }
public void paint(Graphics g) {
g.setColor(Color.black);
Font f1=new Font("Verdana",Font.BOLD,25);
g.setFont(f1);
g.drawString("the product of the last year",120,20);
Font f2=new Font("Verdana",Font.BOLD,10);
g.setFont(f2);
for(int i=0;i<7;i++) {
g.setColor(color[i]);
g.fillArc(200,100,200,200,dataApp[i],(int)dataArc[i]);
if(i==6) {
g.fillArc(200,100,200,200,dataApp[i],360-dataApp[6]); }
g.fillRect(40+i*80,360,30,17);
g.drawString("??"+n[i]+"%",40+i*80+35,375); }
while(true) {
g.setColor(Color.ORANGE);
g.drawLine((int)(200+100+100* Math.cos(angle*Math.PI/180)),
(int)(100+100+100* Math.sin(angle*Math.PI/180)),
(int)(200+100+100* Math.cos(angle*Math.PI/180)),
(int)(100+100+100* Math.sin(angle*Math.PI/180)));
angle++;
if (angle>360) {
angle=angle%360; } } } }
html 代码如下:

<head>
caky
</head>
<body>


</body>

↑返回目录
前一篇: applet 之分布图
后一篇: Apache xml-rpc入门