用java写樱花飘落代码
时间: 2024-06-08 17:10:48 浏览: 13
以下是用Java写樱花飘落的代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class Sakura extends JPanel {
private static final long serialVersionUID = 1L;
private int[] xPositions;
private int[] yPositions;
private int[] fallSpeeds;
private int[] sizes;
private int maxSize;
private int minSize;
private int numFlakes;
public Sakura(int numFlakes, int maxSize, int minSize) {
this.numFlakes = numFlakes;
this.maxSize = maxSize;
this.minSize = minSize;
xPositions = new int[numFlakes];
yPositions = new int[numFlakes];
fallSpeeds = new int[numFlakes];
sizes = new int[numFlakes];
Random random = new Random();
for (int i = 0; i < numFlakes; i++) {
xPositions[i] = random.nextInt(500);
yPositions[i] = random.nextInt(500);
fallSpeeds[i] = random.nextInt(5) + 1;
sizes[i] = random.nextInt(maxSize - minSize) + minSize;
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
for (int i = 0; i < numFlakes; i++) {
g.setColor(new Color(255, 187, 212));
g.fillOval(xPositions[i], yPositions[i], sizes[i], sizes[i]);
yPositions[i] += fallSpeeds[i];
if (yPositions[i] > getHeight()) {
yPositions[i] = 0;
}
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
repaint();
}
public static void main(String[] args) {
JFrame frame = new JFrame("Sakura");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
Sakura sakura = new Sakura(50, 30, 10);
frame.getContentPane().add(sakura);
frame.setVisible(true);
}
}
```
在这个示例中,我们使用Java的Swing库来创建一个框架,并在其中绘制樱花。我们使用了Random类来随机生成樱花的位置、大小和下落速度。在paintComponent方法中,我们使用Graphics类来绘制樱花,并根据它们的下落速度来更新它们的位置。最后,我们使用Thread.sleep方法来暂停50毫秒,然后调用repaint方法来重绘整个面板,以实现樱花飘落的效果。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.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)