怎么用java画雪花
时间: 2023-08-17 22:10:33 浏览: 46
你可以使用Java的Graphics类来绘制雪花。以下是一个简单的例子:
```
import java.awt.*;
import javax.swing.*;
public class Snowflake extends JPanel {
public Snowflake() {
setBackground(Color.BLACK);
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.WHITE);
drawSnowflake(400, 300, 100, g);
}
private void drawSnowflake(int x, int y, int size, Graphics g) {
if (size < 2) {
return;
}
int halfSize = size / 2;
g.drawLine(x - halfSize, y, x + halfSize, y);
g.drawLine(x, y - halfSize, x, y + halfSize);
drawSnowflake(x - halfSize, y - halfSize, halfSize, g);
drawSnowflake(x + halfSize, y - halfSize, halfSize, g);
drawSnowflake(x - halfSize, y + halfSize, halfSize, g);
drawSnowflake(x + halfSize, y + halfSize, halfSize, g);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Snowflake");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.add(new Snowflake());
frame.setVisible(true);
}
}
```
这个例子使用递归函数drawSnowflake来绘制雪花,它会不断分割线段并在每个端点上递归绘制更小的雪花。你可以根据需要调整画布的大小和雪花的位置和大小。
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)