import java.applet.Applet;
import java.awt.*;
public class Exam4_10 extends Applet{
Color color[]={Color.red,Color.green,Color.blue,Color.cyan,Color.darkGray};
double data[]={90.6,49.0,67.8,40.8,10.7};
int degree[]=new int[5];
int sum;
int start;
public void init(){
resize(500,500);
start=0;
sum=0;
for(int i=0;i <data.length;i++){
sum+=data[i];
}
for(int i=0;i <degree.length;i++){
degree[i]=(int)(data[i]/sum*360+0.5);
}
}
public void paint(Graphics g){
// for(start=0;start <=100;start=start+20){
for(int i=0;i <data.length;i++){
g.setColor(color[i]);
g.fillArc(80,80,100,100,start,degree[i]);
start=start+degree[i];
//}
}
/* g.fillArc(300,80,150,150,60,60);
g.setFont(new Font( "黑体 ",Font.BOLD,50));
g.setColor(Color.black);
g.drawString( "Hello BeiJing! ",200,200);
g.setColor(Color.white);
g.drawString( "Hello BeiJing! ",202,198);*/
}
}
请问此题输出一个圆盘,但每改变窗体大小一次一下,圆盘就转动一下!
那位大师能解释一下!!!!
------解决方案--------------------
这个很简单
每改变窗体大小一次一下 ,系统发送一次repaint事件,自动调用paint一次,
每次调用paint的时候start都不一样