利用applet画饼图

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值