如何为 JFrame 设置自定义图标?

问题描述

我正在尝试将 JFrame 图标设置为我准备好的自定义图像。但是,当我编写此代码时出现此错误


import javax.swing.ImageIcon;
import javax.swing.JFrame;



public class Game
{
    
    
    ImageIcon logo = new ImageIcon(getClass().getClassLoader().getResource("BounceAroundIcon.png"));
    

    public static void main (String[] args) 
    
    {

        

        
        JFrame window = new JFrame();
        
        window.setContentPane(new GamePanel());
        window.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        window.setResizable(false);
        window.pack();
        window.setVisible(true);
        
        
    }
    
}

这在我的另一个项目中有效,但在这里不起作用。我是 Java 编程新手,如果这显然是错误的,请见谅。

解决方法

JFrame 有一个方法 setIconImage(Image)。 因此,您需要从 Image 获取 ImageIcon。 幸运的是,ImageIcon 类有一个方法 getImage() 返回一个 Ìmage`对象。

所以,把这两件事放在一起,你需要做:

window.setIconImageImage(logo.getImage());