java爱心代码,脱单必备

news2024/11/17 13:45:51
package com.example.test;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;
import java.util.jar.JarOutputStream;

import javax.swing.JFrame;

class Cardioid extends JFrame {

//定义窗口大小

    private static final int WIDTH = 900;

    private static final int HEIGHT = 800;

//获取屏幕大小

    private static final int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;

    private static final int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;

//构造函数

    public Cardioid() {

//设置窗口标题

        super("♥爱心");

//设置背景色

        this.setBackground(Color.BLACK);

//设置窗口位置

        this.setLocation((WINDOW_WIDTH - WIDTH) / 2, (WINDOW_HEIGHT - HEIGHT) / 2);

//设置窗口大小

        this.setSize(WIDTH, HEIGHT);

//设置窗口布局

        this.setLayout(getLayout());

//设置窗口可见

        this.setVisible(true);

//设置窗口的默认关闭方式

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

//图形函数

    public void paint(Graphics g) {

//横纵坐标及半径

        double x, y, r;



//绘制图形
        double z = 0.0;
        double size=10;
        int jj=0;
        while (true) {

            Image image = this.createImage(WIDTH, HEIGHT);

            Graphics pic = image.getGraphics();
             if (jj%2==0){
                 size=14.5;
             }else {
                 size=15;
             }
            for (int ii = 30; ii > 0; ii--) {
                Color color = new Color(255, 175, (int) (20 * Math.random()) + 220);
                for (int i = 1; i < 400; i++) {
//                try {
//                    Thread.sleep(10);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
                    int px = (int) (Math.random() * 10);
                    int py = (int) (Math.random() * 10);
                    x = 16 * (Math.sin(z) * Math.sin(z) * Math.sin(z)) * (size) + Math.pow((-1), px) * Math.random() * ii * Math.sqrt(ii) + WIDTH / 2;
                    y = -(13 * Math.cos(z) - 5 * Math.cos(2 * z) - 2 * Math.cos(3 * z) - Math.cos(4 * z)) * (size) + Math.pow((-1), py) * Math.random() * ii * Math.sqrt(ii) + HEIGHT * 1 / 3;
                    z += (Math.PI / 2.0) / 80;
                    pic.setColor(color);
//                pic.setColor(new Color(0, 255, 255));
                    pic.fillOval((int) x, (int) y, 2, 2);


//                g.drawImage(image, 0, 0, this);

                }
//                if (ii < 12) {
//                    g.drawImage(image, 0, 0, this);
//                    try {
//                        Thread.sleep(100);
//                    } catch (InterruptedException e) {
//                        e.printStackTrace();
//                    }
//                }
                if (ii < 3) {
                    pic.setFont(new Font("楷体", Font.BOLD, 40));//设置字体
                    pic.setColor(Color.pink);
                    pic.drawString("Love You", WIDTH / 2 - 100, 240);//绘制字符串
                    pic.drawString("Forever", WIDTH / 2, 280);//绘制字符串
                    g.drawImage(image, 0, 0, this);
                }
            }
            jj++;
            if (jj>100){
                break;
            }
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

}

public class Love {

    public static void main(String[] args) {

        new Cardioid();

    }

}




结果入下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1151886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据类型、字符集、引擎、索引

MySQL数据类型、字符集、引擎、索引 数据类型 整型浮点类型字符类型时间类型复合类型整型 MySQL数据类型所占字节值范围tinyint1字节-128~127smallint2字节-32768~32767mediumint3字节-8388608~8388607int4字节-2147483648~2147483647bigint8字节9.22*10的18次方在创建表字段时…

《Linux创建新用户》

本文主要讲解linux下如何进行新用户创建、登录以及删除操作 文章目录 1、创建新普通用户2、登录普通用户&#xff08;一&#xff09;已经创建过普通用户&#xff08;二&#xff09;第一次创建普通用户 3、普通用户切换至超级用户&#xff08;root&#xff09;及超级用户&#x…

【NLP文本分类算法集锦】零基础入门经典文本分类项目实战(附代码+数据集)

前言 大家好&#xff0c;我是阿光。 本专栏整理了《NLP文本分类算法集锦》&#xff0c;内包含了各种常见的中英文文本分类算法&#xff0c;以及常见的NLP任务&#xff1a;情感分析、新闻分类以及谣言检测等。 文本分类是NLP的必备入门任务&#xff0c;在搜索、推荐、对话等场…

C++面试——多线程详解

C11提供了语言层面上的多线程&#xff0c;包含在头文件<thread>中。它解决了跨平台的问题&#xff0c;提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。C11 新标准中引入了5个头文件来支持多线程编程&#xff0c;如下图所示&#xff1a; 多进程与多线程 多…

微信黑名单在哪里找出来怎么恢复微信好友?

微信黑名单在哪里找出来&#xff1f; 1、打开手机微信&#xff0c;点击底部「我」进入找到「设置」&#xff1b; 2、在微信设置内找到「朋友权限」并点击进入&#xff1b; 3、在微信设置朋友权限内&#xff0c;即可找到微信通讯录黑名单&#xff0c;并点击微信「通讯录黑名单」…

1200*B. Interesting Subarray(贪心规律)

Problem - 1270B - Codeforces 解析&#xff1a; 可以发现&#xff0c;对于某个符合条件的数列&#xff0c;如果两个最值不在两端&#xff0c;那么可以删去两端多余的元素直到两个最值在两端为止。 我们观察某两个相邻元素a、b&#xff0c;可以发现这两个元素组成的序列成立的条…

基于旗鱼算法的无人机航迹规划-附代码

基于旗鱼算法的无人机航迹规划 文章目录 基于旗鱼算法的无人机航迹规划1.旗鱼搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用旗鱼算法来优化无人机航迹规划。 1.旗鱼搜索算法 …

C语言 每日一题 PTA 10.30 day8

1.高空坠球 皮球从某给定高度自由落下&#xff0c;触地后反弹到原高度的一半&#xff0c;再落下&#xff0c;再反弹&#xff0c;……&#xff0c;如此反复。问皮球在第n次落地时&#xff0c;在空中一共经过多少距离&#xff1f;第n次反弹的高度是多少&#xff1f; 输入格式 : …

excel求差公式怎么使用?

利用excel求差&#xff0c;可能有许多的小伙伴已经会了&#xff0c;不过还是存在一些不太熟悉的朋友们&#xff0c;所以这里有必要讲解一下。其实求差的实现主要就是一个公式&#xff0c;就是用一个单元格中的数字“减去”另一个单元格中的数字“等于”第三个单元格。此公式掌握…

854数据结构简答题---图

1.&#xff08;2015期末&#xff09;已知无环路有向图如图3.1,请在表2、表3中填写出各事件的最早发生时间、最迟发生时间、活动的最早、最迟开始时间&#xff0c;给出关键活动及关键路径。 从源点到汇点的有向路径可能有多条&#xff0c;所有路径中&#xff0c;具有最大路径长…

网络工程综合试题(三)

1. BGPMLS的作用是什么&#xff1f; BGPMLS&#xff08;BGP Monitoring Protocol and Label Switching&#xff09;是一种用于监控和管理BGP&#xff08;Border Gateway Protocol&#xff09;网络的协议和技术。它结合了BGP和MPLS&#xff08;Multiprotocol Label Switching&am…

超级英雄的导航之旅:动态路由和嵌套路由

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

linux下backtrace函数获取函数调用堆栈信息用法

backtrace用途介绍&#xff1a; 使用backtrace可以查看函数的调用关系&#xff0c;也可以查看程序异常时的函数调用关系。配置生成coredump生成文件的方法也可以捕获异常&#xff0c;但产生的coredump文件内存较大&#xff0c;backtrace函数的方法占用的内存小。 需求&#x…

这个人工智能社区火爆了!手把手教你零代码搞定大模型应用开发

想给自己做个私人定制的旅行攻略&#xff0c;满足个性化的出游需求&#xff0c;还要细致关注到天气、穿衣、老人孩子的作息等等&#xff0c;但太耗时费力怎么办&#xff1f;让AI帮忙搞定。一位开发者在AI Studio星河大模型社区用短短数小时就做好了“旅行规划家”智能应用。像这…

ICS TRIPLEX T8311 控制器模块

掌握器模块是产业自动化和掌握体系中的症结组件&#xff0c;具备多种特征&#xff0c;以保证体系的稳定性、否靠性和高效性。以下是掌握器模块的一些主要特征&#xff1a; 多通道掌握&#xff1a; 掌握器模块通常否以或许掌握多个通道&#xff0c;许否同时治理多个装备或历程。…

基于ADS的肖特基二极管整流电路仿真

文章目录 一、构建二极管模型二、构建封装寄生的二极管模型三、构建整流电路四、仿真及优化4.1HB仿真4.2 LSSP仿真4.3 仿真及调谐结束最近在仿真一个12级的整流电路,想利用ADS做一些原理级的仿真,验证可行性。这个事情对理解非线性电路还是有点帮助,所以把它记录下来。 先来…

C++中的std::cout与std::cerr、std::clog

本文用于记录C中std::cout与std::cerr、std::clog的异同 std::cerr 是C标准库中的标准错误输出流&#xff0c;用于向标准错误设备输出信息&#xff0c;通常用于报告程序的错误和异常情况。与之相对的&#xff0c;std::cout 是标准输出流&#xff0c;用于向标准输出设备输出一般…

springboot是如何工作的

一、前言 现在java后端开发框架比较多的使用springboot框架&#xff0c;springboot是在以前的springMVC进行封装和优化&#xff0c;最大的特点是简化了配置和内置Tomcat。本节通过阅读源码理解springboot是如何工作的。 二、springboot是如何工作的 1、从启动类开始 /***服务…

“探索Linux世界:从CentOS安装到常见命令使用“

目录 引言一、安装CentOS二、Linux的常见命令文件夹和目录操作命令文件编辑命令vi或vim编辑器命令模式编辑模式末行模式 总结 引言 在计算机领域&#xff0c;Linux作为一种强大而灵活的操作系统&#xff0c;在服务器、嵌入式设备和个人电脑等领域广泛应用。本文将引导您了解并…

如何将 ONLYOFFICE 桌面版编辑器 7.5 安装到 Red Hat、CentOS 及衍生产品上

使用桌面版的 ONLYOFFICE 在线编辑器&#xff0c;您可使用本地文件操作&#xff0c;无需保持互联网连接状态。 ONLYOFFICE 桌面编辑器是什么 ONLYOFFICE 桌面编辑器是一款全面的办公工具&#xff0c;提供了文本文档、电子表格、演示文稿、可填写表单和 PDF 查看和编辑功能。它…