java画星星_用java画色彩斑斓的星星

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

import javax.swing.*;

public class WuJiaoXing extends JPanel {

public WuJiaoXing() {

this.setSize(800, 800);

}

public void paint(Graphics g) {

for (int i = 0; i < 100; i++) {

int c1, c2, c3, w, h, r;

c1 = (int) (Math.random() * 255);

c2 = (int) (Math.random() * 255);

c3 = (int) (Math.random() * 255);

Color c = new Color(c1, c2, c3);// 随机生成颜色的红绿蓝通道值

g.setColor(c);// 设置画笔颜色

w = (int) (Math.random() * 1000);

h = (int) (Math.random() * 800);

r = (int) (Math.random() * 80);

wujiaoxing(g, w, h, r, "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 f();

}

}

class f extends JFrame {

WuJiaoXing a = new WuJiaoXing();

public f() {

this.setSize(800, 800);

setLocation(100, 100);

this.add(a);

this.setVisible(true);

}

}

[代码运行效果截图]

137b1a90424bd966e85869592aa68d1b.png

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值