class DrawPanel extends Panel
{
double [] x=new double[48];
double [] y=new double[48] ;
int a=100,b=100,d=1,j=0;
final double PI=3.1415926;
public void paint(Graphics g)
{
for( int i=0;i<24;i++)
{
x[i]=160+b*(Math.cos(PI*(j+d)/360));
y[i]=160+a*(Math.sin(PI*(j+d)/360));
g.setColor(Color.red);
g.drawString("*",(int)x[i],(int)y[i]);
d=d+30;
}
}
}
能细致地解释下这个类吗?每句的,谢谢
大致意思就是在以(160,160)为中心点、半径为100的圆形轨道上,以1度为起始角度、30度为增量输出24个红色的星号
class DrawPanel extends Panel
{
// 长度为48的double类型数组,数组名为x
double [] x=new double[48];
// 长度为48的double类型数组,数组名为y
double [] y=new double[48] ;
// 声明了3个整型变量,并赋予了初始值,a=100,b=100,j=0
int a=100,b=100,d=1,j=0;
// 声明了1个double类型的常量(不可改变值的变量)
final double PI=3.1415926;
public void paint(Graphics g)
{
for( int i=0;i<24;i++)
{
x[i]=160+b*(Math.cos(PI*(j+d)/360));
y[i]=160+a*(Math.sin(PI*(j+d)/360));
g.setColor(Color.red);
g.drawString("*",(int)x[i],(int)y[i]);
d=d+30;
}
}
}
这个类意在画出一个红色的面板,长度/宽度,你可以运行看输出结果
Panel是一个容器。。
这里继承了这个类。
其复写了这个绘画的的方法!
按照自己的方法去重新绘制了一下!而且设置了颜色。。以及绘制了* 其给定*的高度和宽度的距离!