短腿史蒂芬 2021-06-09 14:12 采纳率: 0%
浏览 39

Java中repaint方法具体怎么用

在网上找到的关于repaint方法的介绍几乎都是出于一篇文章的....没有代码示例,其实还是对如何使用一知半解。

我现在想做一个逐帧显示的加载动画,但是使用了repaint之后并没有重绘....而是直接加载到了最后一张图片(一共15张,每一张命名都是Loadingn.jpg,n是一个整数)。请问大家这样写有什么问题?怎么解决这个问题?

LoadingPage.java

package com.company;

import javax.swing.*;

public class LoadingPage {
    LoadingPage(int width, int height) {

        //新建窗体
        JFrame frame = new JFrame("加载中...");
        //窗体初始化
        frame.setSize(width, height);//设定窗体宽和高
        frame.setLocationRelativeTo(null);//居中对齐
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//退出后关闭JVM
        frame.setVisible(true);//设置为可见

        //创建15张图模拟一个动画效果
        ImageIcon[] loadingImages = new ImageIcon[15];

        System.out.println("正在加载");
        for (int i = 0; i < 15; i++) {
            loadingImages[i] = new ImageIcon("res\\Loading\\Loading" + i + ".jpg");
        }
        drawLoadingAnimation drawLoadingAnimation = new drawLoadingAnimation(loadingImages);
        frame.getContentPane().add(drawLoadingAnimation);
    }
}

drawLoadingAnimation.java
package com.company;

import javax.swing.*;
import java.awt.*;

public class drawLoadingAnimation extends JPanel {
    Image im;
    drawLoadingAnimation(ImageIcon[] im){
        this.setOpaque(true);
        for(int i=0;i<im.length;i++){
            this.im=im[i].getImage();
            repaint(1000,0,0,this.getWidth(),this.getHeight());
        }
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.drawImage(im,0,0,this.getWidth(),this.getHeight(),null);
    }
}
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 18:05
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)