java爱心代码动态

以下是一个简单的Java代码示例,可以生成动态的爱心图案:

  1. import java.awt.Color;
  2. import java.awt.Graphics;
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. public class HeartAnimation extends JPanel implements Runnable {
  6.     private static final long serialVersionUID = 1L;
  7.     private int x = 0;
  8.     private int y = 200;
  9.     private int size = 100;
  10.     private int sleepTime = 10;
  11.     private int moveX = 1;
  12.     private int moveY = 1;
  13.     private Color color = Color.RED;
  14.     public HeartAnimation() {
  15.         Thread t = new Thread(this);
  16.         t.start();
  17.     }
  18.     public void run() {
  19.         while (true) {
  20.             x += moveX;
  21.             y += moveY;
  22.             if (x <= 0 || x >= getWidth() – size) {
  23.                 moveX *= -1;
  24.             }
  25.             if (y <= 0 || y >= getHeight() – size) {
  26.                 moveY *= -1;
  27.             }
  28.             try {
  29.                 Thread.sleep(sleepTime);
  30.             } catch (InterruptedException e) {
  31.                 e.printStackTrace();
  32.             }
  33.             repaint();
  34.         }
  35.     }
  36.     protected void paintComponent(Graphics g) {
  37.         super.paintComponent(g);
  38.         g.setColor(color);
  39.         g.fillArc(x, y – size / 2, size, size, 0, 180);
  40.         g.fillArc(x – size / 2, y – size / 2, size, size, 0, 180);
  41.         g.fillRect(x – size / 2, y, size, size);
  42.     }
  43.     public static void main(String[] args) {
  44.         JFrame frame = new JFrame();
  45.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  46.         frame.setSize(800, 600);
  47.         frame.add(new HeartAnimation());
  48.         frame.setVisible(true);
  49.     }
  50. }

这段代码使用Java Swing库来创建一个窗口,并在窗口中绘制一个动态的爱心图案。通过调用fillArcfillRect方法,我们可以绘制出爱心的形状。在run方法中,我们更新爱心的位置,并在必要时改变其移动方向。通过调用repaint方法,我们告诉Java Swing库重新绘制组件,从而更新爱心在窗口中的位置。

方向。这使得爱心在窗口内移动,形成动态的效果。

要运行此代码,请将其粘贴到名为“HeartAnimation.java”的文件中,并使用Java编译器编译它。然后,通过运行“java HeartAnimation”来启动程序。

请注意,由于Java Swing是事件驱动的,因此主线程在创建窗口后立即返回。因此,爱心图案的动画效果是在一个单独的线程中运行的,该线程在构造函数中启动。

此外,这个程序使用了Java的异常处理机制来处理线程睡眠时可能出现的任何中断异常。

在上面的代码中,我们使用了 Thread.sleep(sleepTime) 来让线程暂停一段时间,这样可以让爱心图案以一定的速度移动。 sleepTime 变量定义了每次移动之间的暂停时间,以毫秒为单位。可以根据需要调整这个值来控制动画的速度。

我们还使用了 moveX 和 moveY 变量来控制爱心的移动方向。当这些变量的值为1时,爱心向右或向下移动;当它们的值为-1时,爱心向左或向上移动。当爱心到达窗口的边界时,我们会改变这些变量的值,使得爱心会改变方向并继续移动。

另外,我们还使用了 color 变量来控制爱心的颜色。你可以通过修改这个变量的值来改变爱心的颜色。

总的来说,这个Java程序通过在JPanel上绘制一系列的弧线和矩形,来创建一个动态的爱心图案。我们使用一个单独的线程来控制爱心的移动,并使用异常处理来处理任何可能的中断异常。通过调整变量的值,你可以控制动画的速度和爱心的颜色。

版权声明:本文为博主作者:crmeb专业二开原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/jiazi1024/article/details/135122610

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2024年1月8日
下一篇 2024年1月8日

相关推荐