⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draw.java

📁 这是一个肥胖度测试的程序
💻 JAVA
字号:

/**这个类用于画饼图*/
/**用移动相同的圆来生成立体状的饼图*/

import javax.swing.*;
import java.awt.*;
import java.math.*;


/**继承JDialog*/
public class draw extends JDialog{
	Container cp;

	public draw(){
		cp=getContentPane();
		this.setTitle("肥胖度比例");//设置标题
		setSize(450,350);//设置大小
		setLocation(100,100);//设置位置
		//this.setIgnoreRepaint(false);
		
	}
	
	/**paint函数用来画图*/
	public void paint(Graphics g){
		int i,j,sum=0,qsum,x,y;
		int q[]=new int[5];
		double qq;
		Color c[]=new Color[5];
		for(i=0;i<5;i++) sum+=Fat.a[i];
		for(i=0;i<5;i++){
			q[i]=(int)(360.0*Fat.a[i]/sum+0.5);//根据数据库的数据设置角度
			//随机生成五种颜色
			c[i]=new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
		}
		
		/**相同的圆移动10次来形成饼图*/
		for(i=0;i<10;i++){
			qsum=0;
			for(j=0;j<5;j++){
				g.setPaintMode();//设置模式
				g.setColor(c[j]);//设置画笔颜色
				g.fillArc(40-i,40-i,280,280,qsum,q[j]);//画圆弧
				if(i==9){
					g.setXORMode(Color.black);//设置模式
					if(qsum<180)qq=qsum+q[j]*4/5.0f;
					else qq=qsum+q[j]*2/5.0f;
					x=180+(int)(100*Math.cos(qq*Math.PI/180));//计算x坐标
					y=185-(int)(100*Math.sin(qq*Math.PI/180));//计算y坐标
					g.drawString((int)(q[j]*100/360.0*100)/100.0f+"%",x,y);//写上百分比
				}
				qsum=qsum+q[j];
			}
		}
		
		/**显示比例*/
		String s[]={"瘦","正常标准","超重","一度肥胖","二度肥胖"};
		for(i=0;i<5;i++){
			g.drawString(s[i]+":"+(int)(q[i]*100/360.0*100)/100.0f+"%",350,80+i*40);
		}
		
		g.setPaintMode();//重新设置为画的模式
		g.setColor(Color.LIGHT_GRAY);//设置颜色
		g.drawOval(30,30,280,280);//画圆
	}
}

⌨️ 快捷键说明

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