日期:2014-05-20  浏览次数:20692 次

就算你是高手也不一定解释的清!!!急急!!
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都不一样