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]);
}
// 显示x轴的数值;
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;
}
}
}
}
applet 原码,用jcreator打开即可。
import java.awt.*;
import java.applet.*;
public class draw extends Applet
{
private int data[],i;
static Color color[]={Color.orange,Color.blue,Color.cyan,Color.DARK_GRAY,Color.GRAY,Color.green,Color.magenta,Color.MAGENTA,Color.pink,Color.yellow};
public draw(){}
public void init()
{
data=new int[10];
data[0]=100;
data[1]=150;
data[2]=60;
data[3]=30;
data[4]=20;
data[5]=60;
data[6]=200;
data[7]=600;
data[8]=210;
data[9]=10;
}
public void paint(Graphics g )
{
Font f1=new Font("Verdana",Font.BOLD,25);
g.setFont(f1);
g.drawString("the product of last year",150,25);
Font f2=new Font("Verdana",Font.BOLD,10);
g.setFont(f2);
for(i=0;i<=7;i++)
{
g.drawLine(30,50+i*25,630,50+i*25);
g.drawString(700-i*100+"",5,52+i*25);
}
g.drawLine(30,30,30,224);
for(i=0;i<12;i++)
{
g.setColor(Color.BLACK);
g.drawString(i+1+"M",50+i*50,240);
}
for(i=0;i<=11;i++)
{
g.setColor(color[i]);
g.fillRect(50+i*50,225-data[i]/4,28,data[i]/4);
g.drawString(data[i]+"",50+i*50+2,220-data[i]/4);
}
}
}
html原码如下:
<HTML> <TITLE>HelloWorld! Applet</TITLE>
<APPLET CODE="Caky.class" width=600 height=600 > </APPLET>
<APPLET CODE="draw.class" width=600 height=600 > </APPLET>
</HTML>
详细请参考:http://www.codesky.net/article/200505/64741.html