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 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程