import java.awt.Color; // 导入颜色类
import java.awt.Graphics; // 导入图形类
import javax.swing.JFrame; // 导入窗口类

public class Heart extends JFrame { // 定义一个继承自JFrame的Heart类

    public Heart() { // 构造函数
        setSize(400, 400); // 设置窗口大小
        setLocationRelativeTo(null); // 窗口居中
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 窗口关闭时退出程序
        setBackground(Color.WHITE); // 设置背景颜色为白色
        setVisible(true); // 显示窗口
    }

    public void paint(Graphics g) { // 重写paint方法
        g.setColor(Color.RED); // 设置画笔颜色为红色
        int x, y; // 定义坐标变量
        for (int i = 30; i < 200; i++) { // 循环绘制爱心
            for (int j = 30; j < 200; j++) {
                double d = Math.pow((Math.pow(i - 115, 2) + Math.pow(j - 100, 2)), 0.5); // 计算距离
                if (d < 50 && d > 46 || d < 30) { // 判断距离是否在合适的范围内
                    x = i; // 设置坐标
                    y = j;
                    g.drawLine(x, y, x + 1, y + 1); // 绘制像素点
                }
            }
        }
    }

    public static void main(String[] args) { // 主函数
        new Heart(); // 创建一个Heart对象
    }
}

解释:

  1. import java.awt.Color;import java.awt.Graphics; 导入了Java的颜色类和图形类。
  2. import javax.swing.JFrame; 导入了Java的窗口类。
  3. public class Heart extends JFrame 定义了一个名为“Heart”的类,继承自JFrame类。
  4. public Heart() 是Heart类的构造函数,用于初始化窗口的一些属性。
  5. setSize(400, 400); 设置窗口的大小为400x400。
  6. setLocationRelativeTo(null); 设定窗口位置居中。
  7. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 设定窗口关闭时退出程序。
  8. setBackground(Color.WHITE); 设置窗口的背景颜色为白色。
  9. setVisible(true); 使窗口可见。
  10. public void paint(Graphics g) 重写了JFrame的paint方法,用于绘制图形。
  11. g.setColor(Color.RED); 设置画笔颜色为红色。
  12. int x, y; 定义了坐标变量。
  13. for (int i = 30; i < 200; i++) {for (int j = 30; j < 200; j++) { 循环绘制爱心。
  14. double d = Math.pow((Math.pow(i - 115, 2) + Math.pow(j - 100, 2)), 0.5); 计算距离,判断是否绘制像素点。
  15. if (d < 50 && d > 46 || d < 30) { 判断距离是否在合适的范围内,符合条件的绘制像素点。
  16. x = i;y = j; 设置坐标。
  17. g.drawLine(x, y, x + 1, y + 1); 绘制像素点。
  18. public static void main(String[] args) 是程序的入口点,创建了一个Heart对象并显示了窗口。
用Java编写一个爱心程序,并解释每一行代码

原文地址: https://www.cveoy.top/t/topic/yV5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录