java画五角星_java 画五角星 填充五角星

该博客展示了如何使用Java编程来绘制和填充五角星。通过定义`WuJiaoXing`类并利用图形API,实现了在指定位置以不同方式画出五角星的代码示例。在主函数中创建窗口并显示了绘制的五角星。
摘要由CSDN通过智能技术生成

[java]代码库import java.awt.*;

import javax.swing.*;

public class WuJiaoXing extends JPanel {

public WuJiaoXing() {

this.setSize(800, 800);

}

public void paint(Graphics g) {

wujiaoxing(g, 200, 200, 100, "draw");

wujiaoxing(g, 400, 400, 100, "fill");

}

public void wujiaoxing(Graphics g, int x0, int y0, int r, String f) {

double ch = 72 * Math.PI / 180;// 圆心角的弧度数

int x1 = x0, x2 = (int) (x0 - Math.sin(ch) * r), x3 = (int) (x0 + Math

.sin(ch) * r), x4 = (int) (x0 - Math.sin(ch / 2) * r), x5 = (int) (x0 + Math

.sin(ch / 2) * r);

int y1 = y0 - r, y2 = (int) (y0 - Math.cos(ch) * r), y3 = y2, y4 = (int) (y0 + Math

.cos(ch / 2) * r), y5 = y4;

int bx = (int) (x0 + Math.cos(ch) * Math.tan(ch / 2) * r);

int by = y2;

Polygon a = new Polygon();

Polygon b = new Polygon();

a.addPoint(x2, y2);

a.addPoint(x5, y5);

a.addPoint(bx, by);

b.addPoint(x1, y1);

b.addPoint(bx, by);

b.addPoint(x3, y3);

b.addPoint(x4, y4);

if (f.equals("draw")) {

g.drawPolygon(a);

g.drawPolygon(b);

}

if (f.equals("fill")) {

g.fillPolygon(a);

g.fillPolygon(b);

}

}

public static void main(String[] args) {

new g();

}

}

class g extends JFrame {

WuJiaoXing a = new WuJiaoXing();

public g() {

this.setSize(800, 800);

setLocation(100, 100);

this.add(a);

this.setVisible(true);

}

}

[代码运行效果截图]

f30338f1fcf2333a3e2ba0aefba52fe7.png

694748ed64b9390909c0d88230893790.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值