电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> JSP教程
- Draw a pie chart-JSP教程,Application/Applet
作者:网友供稿 点击:15
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
 import java.util.*;
import java.awt.*;
import java.applet.applet;

public class graph extends applet {
  int    depth, radius;

public void init() {
   float value;
   string at = getparameter("width");
   radius = (at != null) ?  integer.valueof(at).intvalue() : 100;
   at = getparameter("depth");
   depth = (at != null) ? integer.valueof(at).intvalue() : 20;
   at = getparameter("values");
   piechartcanvas c = new piechartcanvas(radius, depth);
   setlayout(new borderlayout());

   // create hashtable to map color name (string) to color type
   hashtable colors = new hashtable();
   colors.put("green", color.green);
   colors.put("red", color.red);
   colors.put("blue", color.blue);
   colors.put("yellow", color.yellow);
   colors.put("magenta", color.magenta);
   colors.put("cyan", color.cyan);
   colors.put("orange", color.orange);
   colors.put("pink", color.pink);
   colors.put("white", color.white);
   colors.put("black", color.black);

   // "value-color,value-color,..."
   stringtokenizer t = new stringtokenizer(at, ",");
   string s;
   int i;
   while (t.hasmoretokens()) {
     s = t.nexttoken();
     i = s.indexof(-);
     value = float.valueof(s.substring(0, i)).floatvalue();
     c.addslice(value, (color)colors.get(s.substring(i + 1)));
    }

   resize(c.getminimumsize().width, c.getminimumsize().height);
   add("center", c);
   }
}

class piechartcanvas extends canvas {
   /*
   ** author     ciaran treanor  ciaran@broadcom.ie
   */
   final double aspectfudge = 2.5;
   int radius, depth, called = 1, numslices = 0;
   float total = 0, value[] = new float[10];
   color color[] = new color[10];
   graphics offgraphics;
   image gfxbuff;

   public piechartcanvas(int radius, int depth) {
     this.value = value;
     this.color = color;
     this.radius = radius;
     this.depth = depth;
     }

   public void paint(graphics g) {
     int startangle;
     float angle;
     dimension d = getsize();

     if(gfxbuff == null) {
       gfxbuff = createimage(d.width, d.height);
       offgraphics = gfxbuff.getgraphics();
       offgraphics.setcolor(getbackground());
       offgraphics.fillrect(0, 0, d.width, d.height);
       }

     // do the 3d effect
     for(int x = depth; x >= 1; x--) {
       startangle = -45;
       for(int i = 0; i < numslices; i++) {
         offgraphics.setcolor(color[i].darker());
         angle = math.round(360 * (value[i] / total));
         offgraphics.fillarc(0, x, radius, (int)(radius / aspectfudge),
             startangle, (int)angle);
             startangle += angle;
         }
     }

     // draw the pie slice
     startangle = -45;
     for(int i = 0; i < numslices; i++) {
       offgraphics.setcolor(color[i]);
       angle = math.round(360 * (value[i] / total));
       offgraphics.fillarc(0, 0, radius, (int)(radius / aspectfudge),
          startangle, (int)angle);
          startangle += angle;
       }
     g.drawimage(gfxbuff, 0, 0, null);
     }

   public void addslice(float value, color color) {
     this.value[numslices] = value;
     this.color[numslices++] = color;
     total += value;
     }

   public dimension getpreferredsize() {
     return getminimumsize();
     }

   public dimension getminimumsize() {
     return new dimension(radius, (int)((radius / aspectfudge) + depth));
     }
   }




[javapie.hmtl]
<html>
<applet code=graph.class width=150 height=150>
   <param name="depth"  value="30">
   <param name="width"  value="120">
   <param name="values" value="1-red,2-green,3-blue">
</applet>
</hmtl>


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
·JSTL简化JSP编码-JSP教程,Jsp/Servlet
·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
·Java Swing入门基础-JSP教程,Java技巧及代码
·IntelliJ IDEA培训-JSP教程,Java技巧及代码
·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

最新文章
·J2ME中的时间处理方法
·J2ME播放声音流程简介
·J2ME开发之手机键盘使用注意问题
·J2ME 记录管理存储
·MVC模式在j2me项目中的应用(二)
·MVC模式在j2me项目中的应用(一)
·J2ME中使用记录存储系统(RMS)存储信息
·J2ME与MIDP开发(1)
·用简单的J2ME程序测试MIDlet的生命周期
·JAVA基础:提升JSP应用程序的七大绝招




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号