java 会动爱心代码
时间: 2023-11-06 18:58:48 浏览: 79
以下是Java实现的爱心代码:
```
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class HeartAnimation extends JPanel implements Runnable {
private static final long serialVersionUID = 1L;
private static final int WIDTH = 600;
private static final int HEIGHT = 600;
private int x;
private int y;
private int size;
private Color color;
public HeartAnimation() {
x = WIDTH / 2;
y = HEIGHT / 2;
size = 50;
color = Color.RED;
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(color);
g.fillOval(x - size / 2, y - size / 2, size, size);
g.fillOval(x - size / 2 + size, y - size / 2, size, size);
int[] xPoints = { x - size / 2, x + size / 2, x };
int[] yPoints = { y - size / 2, y - size / 2, y + size };
g.fillPolygon(xPoints, yPoints, 3);
}
public void run() {
while (true) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
size += 5;
color = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255));
repaint();
if (size > WIDTH) {
size = 50;
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Heart Animation");
HeartAnimation heart = new HeartAnimation();
frame.add(heart);
frame.setSize(WIDTH, HEIGHT);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Thread thread = new Thread(heart);
thread.start();
}
}
```
运行代码,将会看到一个不断变换颜色和大小的爱心。