java - ImageIcon 不渲染动画

标签 java image swing animation imageicon

我曾尝试查看与我的问题类似的其他主题,并且大多数这些解决方案似乎都指向修复图像的类路径......因此,我通过将类路径更改为绝对路径并使用类获取资源来尝试这些,但它仍然不会渲染图像。我怀疑它与主要方法有关。我不完全理解该方法的工作原理,因为我在网上某处复制了源代码。我正在使用 Eclipse 编辑器,我已经将图像文件放在 Flap 类文件旁边。

package wing;

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

public class Flap extends JComponent implements Runnable {
Image[] images = new Image[2];
int frame = 0;

public void paint(Graphics g) {
    Image image = images[frame];
    if (image != null) {
        // Draw the current image
        int x = 0;
        int y = 0;
        g.drawImage(image, x, y, this);
    }
}

public void run() {
    // Load the array of images
    images[0] = new ImageIcon(this.getClass().getResource("/Wing/src/wing/wing1.png"));
    images[1] = new ImageIcon(this.getClass().getResource("/Wing/src/wing/wing2.png"));

    // Display each image for 1 second
    int delay = 10000;    // 1 second

    try {
        while (true) {
            // Move to the next image
            frame = (frame+1)%images.length;

            // Causes the paint() method to be called
            repaint();

            // Wait
            Thread.sleep(delay);
        }
    } catch (Exception e) {
    }
}

public static void main(String[] args) {
    Flap app = new Flap();

    // Display the animation in a frame
    JFrame frame = new JFrame();
    frame.getContentPane().add(app);
    frame.setSize(800, 700);
    frame.setVisible(true);

    (new Thread(app)).start();
}

}

最佳答案

ImageIcon 不是图像:

images[0] = new ImageIcon(this.getClass().getResource("/Wing/src/wing/wing1.png")).getImage();

应用程序永远不会结束,在 main 中:

frame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
});

关于java - ImageIcon 不渲染动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104149/

相关文章:

java - 出现 404 状态码时出现 Null Pointer Exception

java - 如何计算24小时过去与否

javascript - 如何将 jQuery 变量用于此图片库叠加层?

java - 读取图像宽度和高度的非常奇怪的问题(Java)

java - JList.getModel() ClassCastException 异常

java - 柯西随机数生成

java - 测试 Spring @MVC 注解

JavaScript 改变图像

java - Listview点击不火。

java - 将 JTree 选择绑定(bind)到外部集合?