java画星星_Java——绘制五角星

这篇博客介绍了如何利用Java2D中的GeneralPath类来绘制五角星。通过实例化GeneralPath对象,设置起点,然后依次添加顶点,最后闭合路径,可以创建出平滑边界的五角星图形。代码示例展示了具体的实现过程。
摘要由CSDN通过智能技术生成

Java2D支持通过GeneralPath实现绘制任意的几何形状。

步骤:1)实例化GeneralPath对象

2)调用moveTo()方法锚地开始点坐标

3)调用lineTo()或curveTo()方法绘制连接线

4)调用closePath()方法完成几何形状绘制

package chapter1;

import javax.swing.*;

import java.awt.*;

import java.awt.geom.GeneralPath;

public class GeneralPathDemo extends JPanel {

private static final long serialVersionUID = 1L;

public GeneralPathDemo(){

super();

}

public void paintComponent(Graphics g){

Graphics2D g2d = (Graphics2D) g.create();

g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

int x1 = this.getWidth()/5;

int y1 = this.getHeight()-20;

int x2 = this.getWidth()/2;

int y2 = 20;

int x3 = this.getWidth()-20;

int y3 = this.getHeight()-20;

int x4 = 20;

int y4 = this.getHeight()/3;

int x5 = this.getWidth()-20;

int y5 = y4;

int x1points[] = {x1,x2,x3,x4,x5};

int y1points[] = {y1,y2,y3,y4,y5};

g2d.setPaint(Color.RED);

GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD,x1points.length);

polygon.moveTo(x1points[0],y1points[0]);

//顺序画下其他点

for(int i=1; i

polygon.lineTo(x1points[i],y1points[i]);

}

polygon.closePath();//调用closePath形成一个封闭几何形状

g2d.draw(polygon);//绘制

g2d.dispose();//释放资源

}

public static void main(String args[]){

JFrame jf = new JFrame("Demo Graphics");

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jf.getContentPane().setLayout(new BorderLayout());

jf.getContentPane().add(new GeneralPathDemo(), BorderLayout.CENTER);

jf.setPreferredSize(new Dimension(380, 380));

jf.pack();

jf.setVisible(true);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值