通过java画一个大风车.docx

上传人:b****8 文档编号:10562227 上传时间:2023-02-21 格式:DOCX 页数:8 大小:35.42KB
下载 相关 举报
通过java画一个大风车.docx_第1页
第1页 / 共8页
通过java画一个大风车.docx_第2页
第2页 / 共8页
通过java画一个大风车.docx_第3页
第3页 / 共8页
通过java画一个大风车.docx_第4页
第4页 / 共8页
通过java画一个大风车.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

通过java画一个大风车.docx

《通过java画一个大风车.docx》由会员分享,可在线阅读,更多相关《通过java画一个大风车.docx(8页珍藏版)》请在冰豆网上搜索。

通过java画一个大风车.docx

通过java画一个大风车

今天的作业我做的是画一个风车:

运行结果:

1首先:

写个Point类:

(作用作为风车的中点)

packagecom.huang.exam;

/**

*

*@author黄燕斌

*@version1.0

*@since2013-05-28

*

*/

publicclassPoint{

privatedoublex;

privatedoubley;

/**

*构造器

*/

publicPoint(){

}

/**

*构造器

*@paramx

*@paramy

*/

publicPoint(doublex,doubley){

this.x=x;

this.y=y;

}

/**

*@returnX

*/

publicdoublegetX(){

returnx;

}

/**

*

*@paramxX

*/

publicvoidsetX(intx){

this.x=x;

}

/**

*

*@returnY

*/

publicdoublegetY(){

returny;

}

/**

*

*@paramyY

*/

publicvoidsetY(inty){

this.y=y;

}

}

2.写一个风车Windmill类

packagecom.huang.exam;

importjava.awt.Color;

importjava.awt.Graphics;

/**

*风车

*@author黄

*@version1.0

*@since2013-05-28

*

*/

publicclassWindmill{

privatePointcenter;

privateintradius;

privateColorcolor;

publicWindmill(){

}

/**

*构造器

*@paramcenter

*@paramradius

*@paramcolor

*/

publicWindmill(Pointcenter,intradius,Colorcolor){

this.radius=radius;

this.center=center;

this.color=color;

}

publicColorgetColor(){

returncolor;

}

publicvoidsetColor(Colorcolor){

this.color=color;

}

publicPointgetCenter(){

returncenter;

}

publicvoidsetCenter(Pointcenter){

this.center=center;

}

publicintgetRadius(){

returnradius;

}

publicvoidsetRadius(intradius){

this.radius=radius;

}

/**

*画风车

*@paramg

*/

publicvoiddraw(Graphicsg){

/**

*通过计算出风车10点的位置

*/

intarrayX[]=newint[10];

intarrayY[]=newint[10];

Pointp1=newPoint(center.getX(),center.getY()+radius);

Pointp3=newPoint(center.getX()+Math.cos(18*Math.PI/180)*radius,center.getY()+Math.sin(18*Math.PI/180)*radius);

Pointp5=newPoint(center.getX()+Math.cos(54*Math.PI/180)*radius,center.getY()-Math.sin(54*Math.PI/180)*radius);

Pointp7=newPoint(center.getX()-Math.cos(54*Math.PI/180)*radius,center.getY()-Math.sin(54*Math.PI/180)*radius);

Pointp9=newPoint(center.getX()-Math.cos(18*Math.PI/180)*radius,center.getY()+Math.sin(18*Math.PI/180)*radius);

doubleT=0.3819;

Pointp2=newPoint(center.getX(),center.getY()-T*radius);

Pointp4=newPoint(center.getX()-Math.cos(18*Math.PI/180)*T*radius,center.getY()-Math.sin(18*Math.PI/180)*T*radius);

Pointp6=newPoint(center.getX()-Math.cos(54*Math.PI/180)*T*radius,center.getY()+Math.sin(54*Math.PI/180)*T*radius);

Pointp8=newPoint(center.getX()+Math.cos(54*Math.PI/180)*T*radius,center.getY()+Math.sin(54*Math.PI/180)*T*radius);

Pointp10=newPoint(center.getX()+Math.cos(18*Math.PI/180)*T*radius,center.getY()-Math.sin(18*Math.PI/180)*T*radius);

arrayX[0]=(int)p1.getX();

arrayY[0]=(int)p1.getY();

arrayX[1]=(int)p2.getX();

arrayY[1]=(int)p2.getY();

arrayX[2]=(int)p3.getX();

arrayY[2]=(int)p3.getY();

arrayX[3]=(int)p4.getX();

arrayY[3]=(int)p4.getY();

arrayX[4]=(int)p5.getX();

arrayY[4]=(int)p5.getY();

arrayX[5]=(int)p6.getX();

arrayY[5]=(int)p6.getY();

arrayX[6]=(int)p7.getX();

arrayY[6]=(int)p7.getY();

arrayX[7]=(int)p8.getX();

arrayY[7]=(int)p8.getY();

arrayX[8]=(int)p9.getX();

arrayY[8]=(int)p9.getY();

arrayX[9]=(int)p10.getX();

arrayY[9]=(int)p10.getY();

g.setColor(color);

g.drawPolygon(arrayX,arrayY,10);

}

}

3.写一个CompantPanel继承JPanel

packagecom.huang.exam;

importjava.awt.Color;

importjava.awt.Graphics;

importjavax.swing.JPanel;

publicclassCompantPanelextendsJPanel{

publicvoidpaintComponent(Graphicsg){

Pointp=newPoint(250,200);

Windmillfs=newWindmill(p,200,Color.blue);

fs.draw(g);

}

}

4.main类

packagecom.huang.exam;

importjavax.swing.JFrame;

publicclassMain{

publicstaticvoidmain(String[]args){

JFramejFrame=newJFrame("大风车");

jFrame.setSize(500,500);

jFrame.setLocationRelativeTo(null);

CompantPanelcp=newCompantPanel();

jFrame.add(cp);

jFrame.setVisible(true);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1