yurinkamisato 2022-12-12 00:36 采纳率: 80%
浏览 63
已结题

用java写爱心文件遇到的运行结果问题

想写个之前很hot爱心

没报错

package zzz;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;

class Heart extends JFrame {
    // 定义窗口大小
    private static final int WIDTH = 1200;
    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 Heart() {
        // 设置窗口标题
        super("得到至高崩坏之力+rider power+光之力的至高卡密何宇恒的借鉴作品");
        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()) + 200);
                for (int i = 1; i < 1000; i++) {
                    int px = (int) (Math.random() * 10);
                    int py = (int) (Math.random() * 10);
                    x = 16 * (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(255, 0, 204, 244));
                    pic.fillOval((int) x, (int) y, 2, 2);
                }
                if (ii > 100) {
                    pic.setFont(new Font("楷体", Font.BOLD, 40));// 设置字体
                    pic.setColor(color.pink);
                    pic.drawString("I love my family", WIDTH / 2 - 100, 240);// 绘制字符串
                    pic.drawString("HYH", 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 LoveHeart {
    public static void main(String[] args) {
        new Heart();
    }
}


运行出来窗口是空白的

无力,因为不懂,代码也是抄别人的

运行出爱心效果

  • 写回答

2条回答 默认 最新

  • 4-123优秀者 2022-12-12 01:14
    关注

    大哥,你创建对象之后你都没调用方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 创建了问题 12月12日

悬赏问题

  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,