十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
没有这个函数,只能通过算法实现,一下是代码publicclassTest4{publicstaticvoidmain(Stringargs[]){Pointp1=newPoint(0,0);Pointp2=newPoint(10,0);Pointp3=newPoint(10,10);Pointp4=newPoint(0,10);Listlist=newArrayList();list.add(p1);list.add(p2);list.add(p3);list.add(p4);Test4t=newTest4();doublearea=t.getArea(list);System.out.println(area);}publicdoublegetArea(ListPointlist){//S=0.5*((x0*y1-x1*y0)+(x1*y2-x2*y1)+...+(xn*y0-x0*yn))doublearea=0.00;for(inti=0;ilist.size();i++){if(ilist.size()-1){Pointp1=list.get(i);Pointp2=list.get(i+1);area+=p1.getX()*p2.getY()-p2.getX()*p1.getY();}else{Pointpn=list.get(i);Pointp0=list.get(0);area+=pn.getX()*p0.getY()-p0.getX()*pn.getY();}}area=area/2.00;returnarea;}}
孝昌网站建设公司创新互联公司,孝昌网站设计制作,有大型网站制作公司丰富经验。已为孝昌上千余家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的孝昌做网站的公司定做!
//首先找到正n边行的中心点O,我们把中心O与各个顶点连接起来,
//那么正n边形分成n个全等的等腰三角形,我们只需要算成其中一个面积乘以n就是总面积
//假如这个正n边形有两个相邻的顶点A和B,连接OA,OB。得到等腰三角形OAB,其中OA=OB.
//可以看出来∠AOB=360/n ,AB边的高 h=(a/2)/tan(360/2n)。其中a是正多边形的边长
public double normalPolygonArea(int n,double a){
if(n3 || a0)
return 0;
double pi = 3.14159265354; //定义π
double h =(a/2)/Math.tan(pi/n); //计算等腰三角形的高
double triangle =a*h/2; //计算三角形的面积
return triangle*n; //返回正多边形面积
}
自己查api,Graphics类有个花封闭曲线的方法,传进去一组x坐标,一组Y坐标
要么用AlphaComposite做颜色混合,选择src_over
SRC_OVER混合规则把源像素(新的像素)组合到目的像素(原有像素)上面,这样重叠的部分就只显示了源像素的颜色。如果你开始渲染一个蓝色矩形,然后把一个红色矩形和它部分重叠,则重叠的部分会被渲染为红色。换句话说最后被渲染成的颜色将在最上面显示出来。
我习惯把窗口写成一个单独的类,然后再main方法中创建实例
class mainFrame extends JFrame{
mainFrame(){
JButton sanjiaoxing=new JButton("多边形");
paintListener paintListener=new StartListener();
sanjiaoxing.addActionListener(paintActionListener);
}
class paintListener{
public void actionPerformed(ActionEvent s){
要执行的代码写在这里
}
}
}
具体类,组件,事件名字由你决定