piechartcanvas.java

来自「j2me的程序」· Java 代码 · 共 53 行

JAVA
53
字号
import javax.microedition.lcdui.*;

class PieChartCanvas extends Canvas {

  int width = 0;
  int height = 0;
  int[] data;
  int colors[]={0xFF0000,0xA9E969,0x00FFFF,0xC675EC,0x008800,0x00C400};

  public PieChartCanvas(int[] data) {
         this.data = data;
  }

  public void paint(Graphics g) {
         int width=this.getWidth();
         int height=this.getHeight();

         g.setColor(255,255,255);
         g.fillRect(0,0,width,height);

         int sum=0;
         for(int i=0; i<data.length; i++) {
             sum+=data[i];
         }
         System.out.println("sum = "+sum);

         int deltaAngle=360*100/sum/100;
         System.out.println("deltaAngle: "+deltaAngle);

         int x=4;
         int y=4;
         int diameter;

         if(width>height)
            diameter=height-y*2;
         else
            diameter=width-x*2;

         int startAngle=0;

         for (int i=0; i<data.length; i++) {
             g.setColor(colors[i]);
             if(i==3)
               g.fillArc(x-4, y+4, diameter, diameter, startAngle,deltaAngle*data[i]);
             else
               g.fillArc(x, y, diameter, diameter, startAngle, deltaAngle*data[i]);
             System.out.println("start:"+startAngle+"  ending:"+deltaAngle*data[i]);

             startAngle+=deltaAngle*data[i];
         }

        }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?