java表白的动画代码
时间: 2024-04-30 09:20:23 浏览: 74
以下是一个简单的Java动画表白程序的代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoveAnimation extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private Timer timer;
private int x, y, dx, dy;
private JLabel label;
private JButton button;
public LoveAnimation() {
setTitle("表白动画");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 350, 250);
contentPane = new JPanel();
contentPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
label = new JLabel();
label.setIcon(new ImageIcon(LoveAnimation.class.getResource("/heart.png")));
contentPane.add(label, BorderLayout.CENTER);
button = new JButton("表白");
button.addActionListener(this);
contentPane.add(button, BorderLayout.SOUTH);
timer = new Timer(10, new ActionListener() {
public void actionPerformed(ActionEvent e) {
x += dx;
y += dy;
label.setLocation(x, y);
if (x < 0 || x + label.getWidth() > contentPane.getWidth()) {
dx = -dx;
}
if (y < 0 || y + label.getHeight() > contentPane.getHeight()) {
dy = -dy;
}
}
});
}
public void actionPerformed(ActionEvent e) {
if (!timer.isRunning()) {
x = contentPane.getWidth() / 2 - label.getWidth() / 2;
y = contentPane.getHeight() / 2 - label.getHeight() / 2;
dx = 1;
dy = 1;
timer.start();
button.setEnabled(false);
}
}
public static void main(String[] args) {
LoveAnimation frame = new LoveAnimation();
frame.setVisible(true);
}
}
```
需要注意的是,上面的代码中使用了一个名为“heart.png”的图片作为动画中的心形图案,你需要提前准备好这个图片,并将其放置于与代码文件相同的目录下。你也可以使用其他图片,只需要修改代码中的文件名即可。
同时,为了使程序能够正常运行,你需要在项目中导入以下两个包:
```java
import java.awt.event.*;
import javax.swing.*;
```
最后,祝你的表白能够成功!
阅读全文