piechart.java

来自「一个agent 工具包,可以开发移动设备应用,考虑了安全措施」· Java 代码 · 共 71 行

JAVA
71
字号
package SOMA.resourceManagement.windows;

import javax.swing.*;


class PieChart extends JComponent{
  /*

protected Color[] color={Color.green,
  Color.blue,Color.cyan, Color.magenta,
  Color.yellow,Color.white, Color.pink,
  Color.gray};  //8 colori non troppo brutti
protected String[] name;
protected int[] val;
protected int tot;

public PieChart(AgentConsWinData data,int column)
  {
  int i,size;
  size=data.getRowCount();
  name=new String[size];
  val=new int[size];
  tot=0;
  for(i=0;i<size;i++)
    {
    name[i]=data.getName(i);
    val[i]=(int)data.getFloatValueAt(i,column);
    tot+=val[i];
    }
  }

public void paint(Graphics g)
	{
	Dimension d=getSize();
	int i,ox,oy,r,s_ang,ang;

	ox=d.width/2;
	oy=d.height/2;
	if(d.width<d.height) r=d.width/2;
	else r=d.height/2;

        g.drawString("No data",ox-40,oy);

	s_ang=0;
	for(i=0;i<val.length;i++)
	if(val[i]>0)
	  {
	  g.setColor(color[i%color.length]);
          ang=val[i]*360/tot+1;
          g.fillArc(ox-r,oy-r,2*r,2*r,s_ang,ang);
          s_ang+=ang;
	  }

        g.setColor(Color.black);
        s_ang=0;
	for(i=0;i<val.length;i++)
	if(val[i]>0)
	  {
	  ang=val[i]*360/tot+1;
          g.drawString(val[i]*100/tot+"% "+name[i],
    	       ox-50+(int)(Math.cos(Math.PI*(s_ang+ang/2)/180)*r),
    	       oy-(int)(Math.sin(Math.PI*(s_ang+ang/2)/180)*r)
    	       );
	  s_ang+=ang;
	  }

	g.drawOval(ox-r,oy-r,2*r,2*r);
	}

	*/
}

⌨️ 快捷键说明

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